UNIXとその互換のOSには、任意に指定した時刻にコマンドを実行するからくりがある。
/etc/crontab
に実行したいコマンドとそれを起動する時刻などを書いておく。なんだけど、RedHatはこのファイルに直接書くことを推奨していない。ではどのようにするかというと…
コマンドを起動したいユーザでloginして、
crontab -e
とするとエディタがたちあがるので、ここにコマンドと起動したい日付や時刻を書いていけばよいらしい。
書式は以下の通り。
min hour day month dayofweek CommandLine
フィールド 内容 とりうる値など
min 分 0から59
hour 時 0から23
day 日 1から31
month 月 1から12またはjan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec
dayofweek 曜日 0から7(0と7は日曜日)またはsun, mon, tue, wed, thu, fri, sat
CommandLine 起動したいコマンド –
CommandLine以外は起動したい時刻などを書いておく。
指定しないフィールドには「*」を入れる。minに「*」を指定すると、毎分を指定したことになる。
2つの値を「-」でつなぐと範囲指定になる。
例 起動時刻
5 0 * * * 毎日0時5分
15 14 1 * * 毎月1日の14時15分
15 9-11 * * * 毎日9時15分、10時15分、11時15分
0 22 * * 1-5 平日(月曜日から金曜日)の22時0分
5 4 * * sun 日曜日の午前4時5分
* 14 1 * * 毎月1日の14時0分から14時59分まで1分毎
17 15-23 7 * * /home/henokappa/nan-toka
このように書くと、
毎月7日の15時17分、16時17分、17時17分…21時17分、22時17分、23時17分に/home/henokappa/nan-tokaを実行するようになる。