1

在使用 crontab 重新启动主管 python 实例时,我遇到了一个非常奇怪的问题。这是详细信息:

  1. 一个非常简单的 Python 脚本,其中包含一些调度作业(apscheduler)
  2. 脚本需要在supervisor中观看,所以我做了一些配置,目前运行良好。
  3. 一个新的需求需要每天中午重置脚本。所以我设置了一个 sudo crontab 作业来重新启动主管实例,方法是使用

    01 12 * * * sudo /usr/bin/supervisorctl restart {instance name}
    
  4. 一切似乎都很好,我每天检查实例的运行时间,它表明实例已正确重启。
  5. 然后我意识到,在实例自动重启后,脚本甚至没有被触发。
  6. 但是,如果我在主管控制台中使用重启链接,脚本重启 & 完美运行
4

1 回答 1

5

root cron 作业不需要sudo在脚本路径中指定以管理权限运行(root 具有顶级权限)。

要将 cron 作业添加到 root 的 cron 作业列表中,请运行:sudo crontab -e

您的 cron 选项卡条目应修改为:

01 12 * * * /usr/bin/supervisorctl restart {instance name}
于 2015-02-12T09:08:17.963 回答