在每次添加或修改新时间表后,是否都需要重新启动cron或crond?


29

当我安排工作时,似乎有些立即应用,而另一些重启后。因此,建议添加新的cron作业后重新启动croncrond)吗?如何正确地做到这一点(特别是在Debian系统中),即使是普通用户也应该这样做sudo(例如sudo service cron restart)?

我试过了:

/etc/init.d/cron restart

似乎不起作用(/etc/init.d/cron stop或都无效service cron stop),并以返回码1结束。

这是消息输出的一部分:

由于您尝试调用的脚本已转换为Upstart作业,因此您也可以使用stop(8)实用程序,例如stop cron stop:拒绝发送消息,1条匹配的规则;type =“ method_call”,sender =“:1.91”(uid = 1000 pid = 3647 comm =“ stop cron”)interface =“ com.ubuntu.Upstart0_6.Job” member =“ Stop” error name =“(unset)” request_reply =“ 0” destination =“ com.ubuntu.Upstart”(uid = 0 pid = 1 comm =“ / sbin / init”)

(这意味着什么?)

Answers:


18

不,您不必重新启动cron,它会注意到您的crontab文件(/etc/crontab或用户crontab文件)的更改。

您可能在/ etc / crontab的顶部(如果您拥有cronIIRC 的Vixie实现是Debian上的实现):

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

您可能看不到已实施的特定更改的原因是,如果您将内容添加到例如中,/etc/cron.daily并且已经开始进行日常运行。

您收到的消息是因为您使用了一种重新启动系统上的cron的旧方法。推荐的方式(但如果您仅编辑cron文件则不是必需的)是:

 restart cron

当然,您必须重新启动才能查看@reboot cron作业的效果


这不是一个重新启动工作,但每ň分钟cron作业..并重新启动似乎与新老办法都须藤工作..但不适合普通用户..
精确的

您如何编辑crontab?作为用户crontab -e
2014年

是的..这crontab -e是我用的..
精确到

您是否有Vixie Cron(查看man cron->名称)
Timo 2014年

1
似乎仅保存更改是不够的,并且计划的作业也仅在文本编辑器(我使用nano)关闭后才适用!..也许这是造成混乱的原因
2014年

3

可能不需要重新启动。就像我在评论中说的那样,您已经关闭了用于编辑任务的文本编辑器(已分配用于编辑cron-jobs)。仅保存内容是不够的。(这就是我的经验。通过任务编辑并使用+ 保存但文件仍处于打开状态不会立即应用编辑,而仅在使用+ 关闭了编辑器之后。)nanoCtrlOCtrlX

就像在此答案中提到的那样(由terdon提出),cron守护程序将每分钟检查一次,以查看是否有任何作业要运行并触发必须执行的作业。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.