【Linux】Cron がうまくいかなかった時の対処

 ■ はじめに

https://dk521123.hatenablog.com/entry/2016/10/25/230650

で扱ったCron でうまく動かなかった時の対処について、
切り分けの仕方などをまとめる。

 ■ 考慮する点

1)cronのログを確認
2)そもそも、Cron が動いているか?
3)実行ファイルの権限が正しいか確認する

 1)cronのログを確認

* /var/log/cron にある
  => 「sudo cat /var/log/cron」や「sudo tail -f /var/log/cron」を実行し確認

 2)そもそも、Cron が動いているか?

[2-1] サービスが動いているか?

  => CentOS7の場合「sudo systemctl status crond」で起動しているか?

[2-2] Hello World的なもので動くか確認

  => 「sudo tail -f /var/log/cron」でログ出力されるか?

 3)実行ファイルの権限が正しいか確認する

[3-1] パーミッションは644になっているか?

  => 「sudo chmod 0644 /etc/cron.d/xxxxx」を実行する

[3-2] 所有者はrootになっているか?

  => 「sudo chown root:root /etc/cron.d/xxxxx」を実行する

「crontab -e」と「sudo crontab -e」は異なる
「crontab -e」は、実行ユーザ。
「sudo crontab -e」は、rootユーザ。

 参考文献

http://d.hatena.ne.jp/natsumesouxx/20100313/1268479064
https://gist.github.com/koudaiii/49ac3f8b7c207f0da31f

 関連記事

 cronデーモン / crontabコマンド
https://dk521123.hatenablog.com/entry/2016/10/25/230650
 Cron に関する使用上の注意
https://dk521123.hatenablog.com/entry/2021/04/01/160946