У меня есть скрипт Python, который должен работать 24/7 на сервере Linux. Какой мудрый способ убедиться, что все в порядке?
Они предложили мне использовать cron и второй другой скрипт, который как-то проверяет первый.
Я использую Supervisord, чтобы сделать это. Cron хорош для того, чтобы запустить его один раз и сохранить его работающим (используйте @reboot), но вам нужно что-то менее простое, чтобы следить за вещами.
Мои конфигурационные файлы для каждого приложения (и в Ubuntu что-то вроде /etc/supervisord/conf.d/foo.conf)
Это мой файл сценария обновления ttrss, но это хорошая отправная точка.
command=php ./update_daemon2.php
directory=/var/www/lupinenet/ttrss
autostart=true
startretries=5
stderr_logfile=/var/log/supervisor/ttrss/ttrss.err.log
user=www-data
Построчно,
первая строка - это команда, которую я хочу выполнить (укажите команду, которую вы хотите запустить здесь)
Второй - это каталог, в котором он находится (что делает его более аккуратным, в моем случае он работает внутри корня моего веб-сервера)
Он автоматически запустится и попробует 5 раз.
Я хочу вывод на случай, если что-то пойдет не так, поэтому я установил файл для stderr_logfile - это необязательно, и установил пользователя, от имени которого я хочу запустить задачу. Мне нужно войти в систему, но я все время забываю; p
Вы можете настроить это по вкусу в соответствии с документами