我有一个 Python 脚本,需要在 Linux 服务器上全天候运行。有什么明智的方法可以确保它正常运行?
他们建议我使用 cron 和第二个脚本,以某种方式检查第一个脚本。
答案1
我用主管来做到这一点。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
逐行,
第一行是我想要运行的命令(将您想要运行的命令放在这里)
第二行是它所在的目录(这使其更整洁,在我的情况下它在我的 Web 服务器根目录中运行)
它将自动启动并尝试 5 次。
如果出现问题,我希望得到输出,因此我为 stderr_logfile 设置了一个文件 - 这是可选的,并设置了我想要以该身份运行任务的用户。我需要对此进行日志轮换,但我总是忘记 ;p
您可以根据口味进行调整文档