CentOS Cronの設定各種
自動実行処理によく使用するcronの設定をまとめました。
cornの編集
-u どのユーザがcrontabを設定するのかを指定します。
省略した場合はcrontabコマンドを実行したユーザで設定されます。
` crontab [ -u ユーザ名 ] { -l | -r | -e } `
rootユーザーを指定①
` crontab -u root -e `
rootユーザーを指定②
` sudo crontab -e `
毎時5分に実行。
` 5 * * * * `
毎日AM 5:05 に実行
` 5 5 * * * `
毎月15日のAM 5:05 に実行。
` 5 5 15 * * `
7月15日のAM 5:05 に実行。
` 5 5 15 7 * `
曜日を指定して実行
月曜日 1
火曜日 2
水曜日 3
木曜日 4
金曜日 5
土曜日 6
日曜日 7 または 0
毎週月曜日のAM 5:05に実行
` 5 5 * * 1 `
5分ごとに実行する場合
` */5 * * * * `
2時間ごとに実行する場合
` 00 */2 * * * `
毎日AM 3:00 4:00 5:00 6:00 7:00 9:00 に実行
` 00 3-9 * * * `
5分ごとに実行する場合 (shファイルの指定)
` */5 * * * * php /var/www/html/samole.sh `
5分ごとに実行する場合 (PHPファイルの指定)
` */5 * * * * php /var/www/html/samole.php `
現在設定されているタスク一覧の確認
` crontab -l `
cornの動作確認①
crond (pid 1199) を実行中…のようなメッセージがでればOKです
` /etc/rc.d/init.d/crond status `
cornの動作確認②
0:off 1:off 2:on 3:on 4:on 5:on 6:offのようなメッセージがでればOKです
` /sbin/chkconfig --list crond `
cornの内容をバックアップ
cronの設定ファイルは、外部ファイル化して読み込む事で
バックアップしながら運用する事ができます。
実際の運用では、cronをバックアップから操作する
手順を使用するのがオススメです。
-lオプションで内容を表示することができます。
出力内容をcrontab.bakに保存しています。
` crontab -l > crontab.bak `
cornの内容をファイルから設定
-lオプションで内容を表示することができます。
クロンの内容をバージョン管理でき便利ですね。
` sudo crontab crontab.bak `
参考サイト
http://kazmax.zpp.jp/
http://gihyo.jp/dev/serial/01/perl-hackers-hub/002501
http://vividcode.hatenablog.com/entry/man-cron-and-crontab
Comments