Cron
#
日時・時刻・インターバルの指定
#
記述方法
#
時,日,月,曜日,実行コマンド
記号による指定
#
記号 | 内容 |
---|
* | 全範囲指定(ワイルドカード) |
- | 範囲指定 |
/ | インターバル指定 |
, | 区切り指定 |
曜日の指定
#
略語 | 数字 |
---|
sun | 0 |
mon | 1 |
tue | 2 |
wed | 3 |
thu | 4 |
fri | 5 |
sat | 6 |
月の指定
#
略語 | 数字 |
---|
jan | 1 |
feb | 2 |
mar | 3 |
apr | 4 |
may | 5 |
jun | 6 |
jul | 7 |
aug | 8 |
sep | 9 |
oct | 10 |
nov | 11 |
dec | 12 |
注意事項
#
実行ディレクトリ
#
- cron ジョブ実行時のカレントディレクトリ = ユーザーのホームディレクトリ
- 実行コマンドの指定は「絶対パスを指定」または「実行ディレクトリにcdで移動」すること
環境変数
#
- cron ジョブ実行時は最低限の環境変数のみセットされた状態、パスが通っていないケースがあるため注意
- shell内での指定と異なり、右辺の環境変数が展開されないため注意
# NG
PATH=/usr/local/bin:$PATH
# OK
PATH=/usr/local/bin:/usr/bin:/bin
毎分指定
#
# NG
* 5 * * * /path/to/backup.sh
# OK
5 5 * * * /path/to/backup.sh
*/1 * * * /path/to/monitor.sh
%
のエスケープ
#
- crontab の指定において
%
は改行を意味する特殊文字 %
を指定したい場合は \%
のように \
バックスラッシュでエスケープすること
曜日と日付の同時指定
#
- 曜日と日付が同時に指定された場合、片方の条件を満たした場合に実行されるため注意 (OR条件)
# 13日の金曜日に実行されるのではなく、13日または金曜日に実行されてしまうため注意
0 0 13 * 5 /path/to/jewison.sh
0分ちょうどの指定
#
- 毎時0分に設定すると他の cronジョブと時間が重なってしまうケースが多いため避けたほうがベター
パーサー
#