【发布时间】:2023-04-09 16:04:01
【问题描述】:
在使用 crontab 重新启动主管 python 实例时,我遇到了一个非常奇怪的问题。 详情如下:
- 一个非常简单的 Python 脚本,其中包含一些调度作业 (apscheduler)
- 脚本需要在supervisor中观看,所以我做了一些配置,目前运行良好。
-
一个新的需求需要每天中午重置脚本。所以我设置了一个 sudo crontab 作业以使用
重新启动主管实例01 12 * * * sudo /usr/bin/supervisorctl restart {instance name} - 一切正常,我每天检查实例的运行时间,显示实例已正确重启。
- 然后我意识到,在实例自动重启后,脚本甚至没有被触发。
- 但是,如果我在主管控制台中使用重新启动链接,脚本重新启动并完美运行
【问题讨论】:
-
抱歉文字格式,我在手机上发帖。
-
cron 作业是否属于 root 用户(通过运行
sudo crontab -e而不是crontab -e)?如果是这样,您不需要sudo。对于普通用户的 cron 作业,sudo会询问他们的密码,而 crontab 不会自动输入您的密码。 -
@btquanto 感谢您的回答,稍后会尝试更新
-
试试吧,如果使用 'crontab -e' 而不是 'sudo crontab -e' ,实例将不会因为权限被拒绝而重启。
-
我的意思是你在运行 root cron 作业时在 cron 作业中不需要
sudo。你的 cron 任务会变成01 12 * * * /usr/bin/supervisorctl restart {instance name}
标签: python ubuntu cron supervisord apscheduler