**概要 [#y9fe2692]
一般にcrontabコマンドで編集されたスケジュール内容は、crondデーモンにより実行される。
crondはバックグラウンドで稼動し、毎分ごとに実行すべきスケジュールがないか確認し、
もし実行すべきジョブがあれば、それを実行する。このジョブは「cron job」とも呼ばれる。
**記法 [#e71ec718]
-特殊記号
--コンマ (,) で値のリストを指定する: 例) "1,3,4,7,8"
--ダッシュ (-) で値の範囲を指定する: 例) "1-6" ("1,2,3,4,5,6"という指定と同じ意味)
--アスタリスク (*) でそのフィールドで取りうる全ての値を表現する。例えば、時をあらわすフィールドでは「毎時」という意味となる。
-フィールド
# (行頭の # マークはコメント行を示す)
# +------------ 分 (0 - 59)
# | +---------- 時 (0 - 23)
# | | +-------- 日 (1 - 31)
# | | | +------ 月 (1 - 12)
# | | | | +---- 曜日 (0 - 6) (日曜日=0)
# | | | | |
# * * * * * 実行されるコマンド
**例 [#qf24209b]
43 23 * * * 23:43に実行
12 05 * * * 05:12に実行
0 17 * * * 17:00に実行
0 17 * * 1 毎週月曜の 17:00に実行
0,10 17 * * 0,2,3 毎週日,火,水曜の 17:00と 17:10に実行
0-10 17 1 * * 毎月 1日の 17:00から17:10まで 1分毎に実行
0 0 1,15 * 1 毎月 1日と 15日と 月曜日の 0:00に実行
42 4 1 * * 毎月 1日の 4:42分に実行
0 21 * * 1-6 月曜日から土曜まで 21:00に実行
0,10,20,30,40,50 * * * * 10分おきに実行
*/10 * * * * 10分おきに実行
* 1 * * * 1:00から 1:59まで 1分おきに実行
0 1 * * * 1:00に実行
0 */1 * * * 毎時 0分に 1時間おきに実行
0 * * * * 毎時 0分に 1時間おきに実行
2 8-20/3 * * * 8:02,11:02,14:02,17:02,20:02に実行
30 5 1,15 * * 1日と 15日の 5:30に実行
**注意 [#s08389d6]
最もよく見られるミスの一つは、cron ジョブのテストの際に見られる。
テストの際には、少なくとも2分以上先の時刻を実行時刻として指定する必要がある。
これはcrontabファイルの再読み込みは、編集後の次の分時にのみ行われるためである。
例えば、現在時刻が12:05である場合、crontabファイルの再読み込みが12:06:01に行われるため、
次のジョブをスケジュールするには少なくとも12:07以降を指定する必要がある。
これに対処してテストをすぐに行うには、cronサービス自体を再起動する方法もある。
**参考 [#s70d1e4a]
-[[crontab-Wikipedia-:http://ja.wikipedia.org/wiki/Crontab]]
-[[cronの設定ガイド:http://www.express.nec.co.jp/linux/distributions/knowledge/system/crond.html]]
0 件のコメント:
コメントを投稿