更改crontab文件后重新启动cron?

bAr*_*don 391 unix linux cron crontab

更改crontable文件后是否必须重新启动cron?

leo*_*loy 558

没有.

cron手册页:

...然后,cron将检查所有crontabs上的修改时间并重新加载已更改的那些.因此,无论何时修改crontab文件,都不需要重新启动cron

但是如果你只是想确保它完成它,

sudo service cron reload
Run Code Online (Sandbox Code Playgroud)

要么

/etc/init.d/cron reload
Run Code Online (Sandbox Code Playgroud)

  • 这个答案的唯一问题是它并非总是如此.请参阅问题下面的geotheory的评论.我也是这样的.我通过`sudo crontab -e`对crontab文件进行了更改,通过`Ctrl + X`保存了更改,然后假设`cron`将其拾取(由于此答案被高度推崇).然后,几天后,我的客户端报告cron仍在旧循环中运行.所以 - 老实说 - 如果你想要安全 - 只需重新启动`cron`或系统,并且不要浪费时间测试,尽管这个高度推崇的答案,你将不得不这样做. (29认同)
  • 更好的选择是重新加载 - 它可以由非root用户启动:```/etc/init.d/cron reload``` (20认同)
  • 啊,这很容易.它现在是`sudo service cron restart`. (13认同)
  • 如果使用cron.d文件夹,则不会重新加载符号链接的crontabs.我该如何强行重装? (9认同)
  • @CMCDragonkai可能是'crond`而不是`cron`. (8认同)
  • @CMCDragonkai` /etc/init.d/cron restart`? (2认同)

She*_*ndu 45

在CentOS上使用cPanel sudo /etc/init.d/crond reload可以解决问题.

在CentOS7上: sudo systemctl start crond.service

  • // , 要重新加载 `crond`,而不是仅仅在日益可怕的 systemd 上启动它,请运行 `sudo systemctl reload crond.service`。 (4认同)
  • 感谢CentOs 7系列 (2认同)

小智 24

我在16.04 VPS Digital Ocean上遇到了类似的问题.如果要更改crontabs,请确保运行

sudo service cron restart 
Run Code Online (Sandbox Code Playgroud)


Mah*_*our 21

RHEL/Fedora/CentOS/Scientific Linux 用户的命令

  1. 启动cron服务

    • 要启动 cron 服务,请使用:/etc/init.d/crond start

    • 或 RHEL/CentOS 5.x/6.x 用户:service crond start

    • 或 RHEL/Centos Linux 7.x 用户:systemctl start crond.service

  2. 停止 cron 服务

    • 要停止 cron 服务,请使用:/etc/init.d/crond stop

    • 或 RHEL/CentOS 5.x/6.x 用户:service crond stop

    • 或 RHEL/Centos Linux 7.x 用户:systemctl stop crond.service

  3. 重启cron服务

    • 要重新启动 cron 服务,请使用:/etc/init.d/crond restart

    • 或 RHEL/CentOS 5.x/6.x 用户:service crond restart

    • 或 RHEL/Centos Linux 7.x 用户:systemctl restart crond.service

基于 Ubuntu/Mint/Debian 的 Linux 发行版的命令

  1. Debian 启动 cron 服务

    • 要启动 cron 服务,请使用:/etc/init.d/cron start

    • 或者sudo /etc/init.d/cron start

    • 或者sudo service cron start

  2. Debian 停止 cron 服务

    • 要停止 cron 服务,请使用:/etc/init.d/cron stop

    • 或者sudo /etc/init.d/cron stop

    • 或者sudo service cron stop

  3. Debian 重启 cron 服务

    • 要重新启动 cron 服务,请使用:/etc/init.d/cron restart

    • 或者sudo /etc/init.d/cron restart

    • 或者sudo service cron restart

来源:https://www.cyberciti.biz/faq/howto-linux-unix-start-restart-cron/

  • 这似乎根本没有试图回答本页顶部的问题。请查看[帮助],特别是[如何写出一个好的答案?](/help/how-to-answer) (2认同)

小智 13

  1. /var/spool/cron/crontabs/root如果通过 SFTP 客户端编辑文件-service cron restart需要。重新加载服务不起作用。

  2. 如果/var/spool/cron/crontabs/root通过控制台 linux(nano、mc)编辑文件 - 不需要重新启动。

  3. 如果通过编辑 cron crontab -e- 则不需要重新启动。


Tit*_*ric 12

根据分布情况,使用"cron reload"可能无效.要从init.d/cron(debian squeeze)中粘贴一个片段:

reload|force-reload) log_daemon_msg "Reloading configuration files for periodic command scheduler" "cron"
    # cron reloads automatically
    log_end_msg 0
    ;;
Run Code Online (Sandbox Code Playgroud)

一些开发人员/维护者依赖它重新加载,但没有,并且在这种情况下,没有办法强制重新加载.我正在生成我的crontab文件作为部署的一部分,除非文件的长度发生变化,否则不会重新加载更改.


小智 9

尝试这个为centos 7:service crond reload


小智 5

试试这个:sudo cron reload 它适用于ubuntu 12.10


ako*_*ako 5

试试这个:service crond restart,因此crond不是cron

  • `crond` 服务无法识别。它对我来说与“cron”一起工作。我的操作系统是 Ubuntu 18.04 (5认同)