发现 Crontab 已经好几天都不会执行, 有点诡异.

直接 crontab -e 再去 新增 / 修改 也都不会动, 手动执行都是正常.

注: crontab 写法都是正确的.

检查、更新 Crontab

做下述的检查、重新设定的动作看看.

  1. ls /var/spool/cron/crontab # 看权限是某正确, 资料是否正确.
  2. 若有使用 flock, 然后有存 tmp file 的, 把那些 tmp file 都砍了.
  3. crontab -l > cron_backup; crontab -r; crontab cron_backup # 把 crontab 砍掉重新汇入
  4. 以上都做过, Crontab 还是都不会动.

解法

上述做法都没有用, 最后试试 重新启动 cron, 结果就可以动了, 重新启动步骤如下:

  1. ps aux | grep cron
    root     15082  0.0  0.0  18708  1068 ?        Ss   13:23   0:00 cron
  2. kill 15082
  3. ps aux | grep cron # 若已经自动跑起来, 就不需要下面的步骤
  4. /usr/sbin/cron &