crontabとは
Linux や UNIX 系システムで定期的なタスク (ジョブ) を自動実行するためのツールです。設定することで、指定した時間や間隔でスクリプトやコマンドを実行できます。
構文
分 時 日 月 曜日 コマンド
分: 0~59
時: 0~23 (24時間表記)
日: 1~31
月: 1~12
曜日: 0~7 (日曜は 0 または 7)
種類
・5分おきに実行
*/5 * * * * [コマンド]
・平日のみ実行
0 9 * * 1-5 [コマンド]
・奇数分にて実行
1-59/2 * * * * [コマンド]
設定場所
システム全体のタスクを /etc/crontab
や /etc/cron.d/
に設定します。
以下のディレクトリに置かれたスクリプトは、特定の時間に実行されます。
/etc/cron.hourly/ – 毎時実行
/etc/cron.daily/ – 毎日実行
/etc/cron.weekly/ – 毎週実行
/etc/cron.monthly/ – 毎月実行
エラー出力
cron の実行結果やエラーは通常システムログに記録されます
cat /var/log/cron
2>&1 を使ってエラーログを特定のファイルにリダイレクトすることもできます
* * * * * [コマンド] >> /var/log/error.log 2>&1
どこにもログを出力させたくない場合は/dev/nullで処理できます。
* * * * * [コマンド] > /dev/null 2>&1