Тема: bash автоматичний запуск python скрипта
Добрий день, хочу щоб баш запускав пайтон скрипт та відслідковував коли він закриється а через годину запускав його знову, чи реально таке зробити? буду вдячний за підказки
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → *nix → bash автоматичний запуск python скрипта
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Добрий день, хочу щоб баш запускав пайтон скрипт та відслідковував коли він закриється а через годину запускав його знову, чи реально таке зробити? буду вдячний за підказки
То не баш, а крон (cron) він може запускати скрипти з певним інтервалом. Але вам самим треба у вашому скрипті перевіряти, чи інша копія вже запущена і коли остання була завершена.
Наприклад крон може запускати скрип кожну хвилину.цей скрип може перевіряти певний лок файл, якщо цей файл створенний, значить інша копія вже виконується і завершувати виконання. Якщо лок файлу нема, то створити його і продовжити виконання. Аналогічно можна писати в базу або лог файл коли скрип завершився, і при запуску перевіряти чи вже пройшло достатньо часу.
Якщо вам просто що години запускати скрип, не залежно від того коли попередній завершився, то це один рядочок в crontab.
раніше виконував щось подібне - то теж ранив кроном пайтонівський скрипт
але всі ці локи і т.п.
потім деколи треба підготувати environment, встановити якісь змінні, - переконатися що впн - піднято, стартувати контейнер в докері, взнати exit_code попередньої команди чи скрипта, тощо
зараз пишу все таки на баші, який запускається по крону (хоч це і забирає більше часу, бо баш доводиться вчити по ходу ))
а вже баш вичисляє що в якій послідовності запускати і готує грунт для цього.
приклад як крон ранить пітонівсьй скрипт:
admin@pb:~$ cat /etc/crontab
# /etc/crontab: system-wide crontab
MAILTO=admin
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
29 1 * * * root /home/docker_admin/restart_containers.py >> /home/docker_admin/restart_containers.log
То не баш, а крон (cron) він може запускати скрипти з певним інтервалом. Але вам самим треба у вашому скрипті перевіряти, чи інша копія вже запущена і коли остання була завершена.
Наприклад крон може запускати скрип кожну хвилину.цей скрип може перевіряти певний лок файл, якщо цей файл створенний, значить інша копія вже виконується і завершувати виконання. Якщо лок файлу нема, то створити його і продовжити виконання. Аналогічно можна писати в базу або лог файл коли скрип завершився, і при запуску перевіряти чи вже пройшло достатньо часу.Якщо вам просто що години запускати скрип, не залежно від того коли попередній завершився, то це один рядочок в crontab.
так, мені потрібно кожу годину, завершуватися він буде сам, як це зробити одним рядком підкажіть будь ласка, скрипт на пайтоні написаний, а то не можу розібратися щоб кожну годину включався
Запустив, усім дякую
Добрий день, хочу щоб баш запускав пайтон скрипт та відслідковував коли він закриється а через годину запускав його знову, чи реально таке зробити? буду вдячний за підказки
timer в systemd, вам лиш треба pid файл щоб був, а решту в systemd налаштуєте.
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися