概要
定期的にコマンドを実行するためのcronという仕組みがある。 いつ、どういうコマンドがcronによって実行されたかを確認したくて、実行ログの確認方法を調べた。
調べて分かったことのまとめ
- Ubuntu 18 (というか今どきのLinuxたぶん全般) では、crondはsystemdによって管理されている
- systemdで動かされるプロセスのログは、ファイルではなくjournaldが保持している
journalctl -u cron
というコマンドで、cronによるコマンド実行ログが確認出来る
吐かれる実行ログの例
実行ログを作るために、crontabに下記のジョブを登録。
* * * * * echo 1
時を待つと、下記のようなログが出た。
$ sudo journalctl -f -u cron -- Logs begin at Thu 2019-05-30 11:01:44 JST. -- ...snip 6月 22 23:03:01 pinkumohikan.com CRON[2080]: (pinkumohikan) CMD (echo 1) ...snip
ログから何時に、どのユーザで、どういうコマンドを実行したかが分かる。便利!