Hack 74. Crontab

cron を使用して指定した日時にシェルスクリプトLinux コマンドを実行することができます。
たとえば、システム管理者は毎日実行可能なバックアップをスケジューリングできます。

cron にジョブを追加するには?

# crontab -e
0 5 * * * /root/bin/backup.sh

これは毎日 午前 5 時に /root/bin/backup.sh を実行します。

cron フィールドについて

crontab ファイルの形式は次のようになります。

{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}
o minute: 0 - 59 の範囲まで有効
o hour: 0 - 23 の範囲まで有効
o day-of-month: 0 - 31 の範囲まで有効
o month: 1 - 12 の範囲まで有効。 1 = 1月. 12 = 12月.
o Day-of-week: 0 - 7 の範囲まで有効。日曜日は 0 または 7

Crontab の例

1. 毎日深夜 12:01 に実行
システムが稼動していないときにバックアップを実行するのはよいことです。

1 0 * * * /root/bin/backup.sh

2. 毎週月曜日から金曜日までの 11:59 にバックアップを実行

59 11 * * 1,2,3,4,5 /root/bin/backup.sh

これも上記と同じことを実行します

59 11 * * 1-5 /root/bin/backup.sh

3. 5 分おきにコマンドを実行

*/5 * * * * /root/bin/check-status.sh

4. 毎月 1 日の 1:10 に実行

10 13 1 * * /root/bin/full-backup.sh

5. ウィークデーの 午後 11 時に実行

0 23 * * 1-5 /root/bin/incremental-backup.sh

Crontab オプション
crontab で有効なオプション:
o crontab -e : crontab ファイルを編集します。もし存在しない場合は crontab を作成します。
o crontab -l : crontab ファイルを表示します。
o crontab -r : crontab ファイルを削除します。
o crontab -ir : crontab を削除する前にユーザに確認します。