Restarting cron after changing crontab file?
更改crontable文件后是否必须重新启动cron?
- 不要忽视@leonbloy的回答,但我发现实现我的Linux的第一个cron作业(一个正确格式化的每分钟作业)直到系统重新启动后才开始工作。sudo service cron restart未检测。
- @我当然希望在我更新crontab的时候不必重新启动prod服务器(我不需要)。
不。
从cron手册页:
...cron will then examine the modification time on all crontabs
and reload those which have changed. Thus cron need not be restarted
whenever a crontab file is modified
但是如果你只是想确保它的完成,
1
| sudo service cron reload |
或
- 如果使用cron.d文件夹,则不会重新加载符号链接的crontabs。如何强制重新加载?
- @CMCDragonkai /etc/init.d/cron restart?
- 啊,很简单。现在是sudo service cron restart。
- 更好的选择是重新加载-它可以由非根用户启动:/etc/init.d/cron reload。
- @CMCDragonkai可能是crond,而不是cron。
- 这个答案唯一的问题是它并不总是正确的。见问题下面的地球理论评论。我也被这个咬了一口。我通过sudo crontab -e对crontab文件进行了更改,保存了Ctrl + X所做的更改,然后离开了,假设cron会接受它(由于这个答案被高度否决)。然后,几天后,我的客户机报告cron仍在旧的循环上运行。所以——老实说——如果你想安全的话——只需重启cron或系统,不要浪费时间去做测试,尽管这个答案非常乐观,你还是要做。
- sudo service crond reload可用于在/etc/crontab上重新加载de cron定义文件
- 在freebsd和openbsd上,您需要在/var/cron/tabs/user或/var/cron/tabs/user下创建文件后重新启动cron服务。
- 在Ubuntu18.04.2LTS的覆盆子Pi3+上,唯一对我有用的命令是:sudo service cron reload。这也是唯一给出答复的命令:* Reloading configuration files for periodic command scheduler cron。
在CPanel的Centos上,sudo /etc/init.d/crond reload起作用。
在中央7:sudo systemctl start crond.service。
- 感谢Centos 7系列
- //,为了重新加载crond,而不是仅仅在日益可怕的系统d上启动它,运行sudo systemctl reload crond.service。
- @Nathanbasanese在systemd上重新加载cron现在被认为是黑色魔法:sudo systemctl reload crond与Failed to reload cron.service: Job type reload is not applicable for unit cron.service.失败(ubuntu 18.04)。读到:"当心,我们都被这种综合征所折磨:"系统,只能有一个"。如果没有在幕后自动完成重新加载,你就破产了!不要像过去三(或更多)年那样去考虑修理它!阅读:窗户的世界终于吞下了德比安:如果引擎盖下有什么奇怪的东西,你会怎么做?重新启动!
- 重新启动不仅仅是重新加载。CentOS没有干净的重新加载选项吗?
我在16.04 vps Digital Ocean上也遇到过类似的问题。如果要更改crontabs,请确保运行
1
| sudo service cron restart |
根据分布情况,使用"cron reload"可能不起作用。要从init.d/cron中粘贴一个片段(debian-squence):
1 2 3 4
| reload|force-reload) log_daemon_msg"Reloading configuration files for periodic command scheduler""cron"
# cron reloads automatically
log_end_msg 0
;; |
一些开发人员/维护人员依赖于它的重新加载,但没有,在这种情况下,没有强制重新加载的方法。我将生成crontab文件作为部署的一部分,除非文件的长度发生变化,否则不会重新加载更改。
在CentOS 7上试试这个:服务crond reload
试试这个:sudo cron reload。在Ubuntu 12.10上对我有效
- Ubuntu 18.04.2 LTS不支持我的覆盆子Pi3+。
试试这个:service crond restart,所以它是crond,而不是cron。