Crontab重启管理器python实例?
在使用crontab重新启动一个监控python实例时,我遇到了一个非常奇怪的问题。 详情如下:Crontab重启管理器python实例?,python,ubuntu,cron,supervisord,apscheduler,Python,Ubuntu,Cron,Supervisord,Apscheduler,在使用crontab重新启动一个监控python实例时,我遇到了一个非常奇怪的问题。 详情如下: 一个非常简单的Python脚本,其中包含一些调度作业(apscheduler) 脚本需要在supervisor中查看,所以我进行了一些配置,到目前为止运行良好 新的需求需要每天中午重置脚本。因此,我设置了一个sudo crontab作业,通过使用 01 12 * * * sudo /usr/bin/supervisorctl restart {instance name} 一切似乎都很好,我每天
01 12 * * * sudo /usr/bin/supervisorctl restart {instance name}
Root cron作业不需要在脚本路径中指定
sudo
,即可使用管理权限运行(Root拥有顶级权限)
要将cron作业添加到root用户的cron作业列表中,请运行:sudo crontab-e
您的cron选项卡条目应修改为:
01 12 * * * /usr/bin/supervisorctl restart {instance name}
Root cron作业不需要在脚本路径中指定
sudo
,即可使用管理权限运行(Root拥有顶级权限)
要将cron作业添加到root用户的cron作业列表中,请运行:sudo crontab-e
您的cron选项卡条目应修改为:
01 12 * * * /usr/bin/supervisorctl restart {instance name}
对于文本格式很抱歉,我在手机上发布。cron作业是否属于root用户(通过运行
sudo crontab-e
而不是crontab-e
)?如果是这样,您不需要sudo
。对于普通用户的cron作业,sudo
会询问他们的密码,crontab不会自动输入您的密码。@btquanto感谢您的回答,将稍后尝试更新。如果使用“crontab-e”而不是“sudo crontab-e”,请尝试一下,由于权限被拒绝,实例将不会重新启动。我的意思是,在运行根cron作业时,cron作业中不需要sudo
。您的cron作业将变成012***/usr/bin/supervisorctl restart{instance name}
对不起,我在手机上发布了文本格式。cron作业是否属于root用户(通过运行sudo crontab-e
而不是crontab-e
)?如果是这样,您不需要sudo
。对于普通用户的cron作业,sudo
会询问他们的密码,crontab不会自动输入您的密码。@btquanto感谢您的回答,将稍后尝试更新。如果使用“crontab-e”而不是“sudo crontab-e”,请尝试一下,由于权限被拒绝,实例将不会重新启动。我的意思是,在运行根cron作业时,cron作业中不需要sudo
。您的cron作业将变成012***/usr/bin/supervisorctl restart{instance name}
hi,这个方法似乎昨天才起作用,这很奇怪,crontab作业成功地重新启动了实例,但今天仍然没有触发内部的函数。那么可能是另一个问题,如果您以root用户身份运行该命令,它是否正确运行?(Sudo进入root,然后运行该命令)云服务只允许我运行类似“Sudo-supervisortl-restart{instance-name}”这样的命令,它可以工作。最重要的是,每次我在supervisor控制台中使用restart链接时,似乎一点问题都没有!(当我使用crontab重新启动时,控制台中的正常运行时间显示实例当时确实重新启动了,但没有触发任何功能)非常愚蠢的错误!!!!我重新检查了我的源代码,然后我意识到我已经设置了一个触发函数的条件,这类似于“if int(now_hour)>12:”,我使用crontab在12:00重新启动脚本,这当然不会触发函数。每次我在控制台上重新启动都是在下午13点以后,这就是为什么它会工作的原因!!!您好,这个方法似乎昨天才起作用,这很奇怪,crontab作业成功地重新启动了实例,但今天仍然没有触发内部的函数。那么可能是另一个问题,如果您以root用户身份运行该命令,它是否能正确运行?(Sudo进入root,然后运行该命令)云服务只允许我运行类似“Sudo-supervisortl-restart{instance-name}”这样的命令,它可以工作。最重要的是,每次我在supervisor控制台中使用restart链接时,似乎一点问题都没有!(当我使用crontab重新启动时,控制台中的正常运行时间显示实例当时确实重新启动了,但没有触发任何功能)非常愚蠢的错误!!!!我重新检查了我的源代码,然后我意识到我已经设置了一个触发函数的条件,这类似于“if int(now_hour)>12:”,我使用crontab在12:00重新启动脚本,这当然不会触发函数。每次我在控制台上重新启动都是在下午13点以后,这就是为什么它会工作的原因!!!