cronで実行したプログラムが動作していなかったので、原因を調べるためエラーログを確認することにした。

Linuxではcronのエラーについての詳細はログとして出力されないので、別途外部ファイルに出力する設定をおこなう必要がある。

crontab -eで、まずcrontabファイルを開き、以下のように「>>」以下を追記する。

59 23 * * * $HOME/.pyenv/shims/python /root/project/main.py >> /tmp/cron.log 2>&1

簡単に解説すると、プログラム実行時の標準出力・標準エラー出力を/tmp/cron.logに追記する設定となっている。

>>の後のパスは出力先のファイルを表し、2>&1は標準出力と標準エラー出力を指定したファイルに同時に書き込みたい場合の記述方法だ。

これでcronの実行失敗時のエラー内容を外部ファイルとして確認することができる。