はじめに
業務でcron設定をする際、ついつい忘れてしまうため、備忘録として投稿
cronの場所
cronび設定ファイルは以下になります。
/etc/crontab
書式
#crontabの書式
# (行頭の # マークはコメント行を示す)
# +------------ 分 (0 - 59)
# | +---------- 時 (0 - 23)
# | | +-------- 日 (1 - 31)
# | | | +------ 月 (1 - 12)
# | | | | +---- 曜日 (0 - 6) (日曜日=0)
# | | | | |
# * * * * * 実行されるコマンド
- 分は0~59の数字で指定
- 時は0~23の数字で指定
- 日は1~31の数字で指定
- 月は1~12の数字で指定
- 曜日に関しても数字で指定し、0と7が日曜日、1以降は順に、月、火、水、木、金、土となる
- コマンドは、設定ファイルでパスを通していないものに関してはフルパスで指定するかカレントディレクトリからの相対パスで指定しなければならない
*曜日設定が分かりづらいので表にまとめました。
曜日 | 設定 |
---|---|
日曜日 | 0(または7) |
月曜日 | 1 |
火曜日 | 2 |
水曜日 | 3 |
木曜日 | 4 |
金曜日 | 5 |
土曜日 | 6 |
例)5分おきに/home/hoge/hoge.shを実行するという例
*/5 * * * * /home/hoge/hoge.sh
時間の書き方例
40 23 * * * 23:40に実行
34 04 * * * 04:34に実行
0 19 * * * 19:00に実行
0 18 * * 1 毎週月曜の 18:00に実行
0 17 * * 0,2,3 毎週日,火,水曜の 17:00に実行
0-10 17 1 * * 毎月 1日の 17:00から17:10まで 1分毎に実行
0 22 * * 1-6 月曜日から土曜まで 22:00に実行
0,10,20,30,40,50 * * * * 10分おきに実行
*/10 * * * * 10分おきに実行
* 1 * * * 1:00から 1:59まで 1分毎に実行
0 * * * * 毎時 0分に 1時間毎に実行
2 8-20/3 * * * 8:02,11:02,14:02,17:02,20:02に実行
30 6 1,15 * * 1日と 15日の 6:30に実行
0 17 * * * 毎時 0分に 1時間毎に実行
00 5 10 7 5 7月10日の5:00または 金曜日の5:00に実行
※全部 * だと毎分実行される。
※日にち指定と曜日の両方を設定するとOR条件になる。