crontab

Crontab Lines

各行には5つの日時フィールドがあり、その後に改行文字( ‘\ n’)が続くコマンドが続きます。フィールドはスペースで区切られています。5つの日付と時刻フィールドにスペースを入れることはできません。分(0-59)、時(0-23,0 =深夜)、曜日(1-31)、月(1-12)、曜日(0-6、 0 =日曜日)。

01 04 1 1 1 /usr/bin/somedirectory/somecommand

上記の例では、1月1日午前4時1分、1月の毎週月曜日に/ usr / bin / somedirectory / somecommandを実行します。

アスタリスク(*)を使用すると、ある期間のすべてのインスタンス(毎時間、毎週、毎月など)が使用されます。

01 04 * * * /usr/bin/somedirectory/somecommand

上記の例では、毎月毎日4:01に/ usr / bin / somedirectory / somecommandが実行されます。

カンマ区切りの値を使用すると、ある期間内に特定のコマンドの複数のインスタンスを実行できます。ダッシュで区切られた値は、コマンドを連続して実行するために使用できます。

01,31 04,05 1-15 1,6 * /usr/bin/somedirectory/somecommand

上記の例では、1月と6月の第1から第15日の午前4時と午前5時を過ぎて、01と31で/ usr / bin / somedirectory / somecommandを実行します。

上の例の “/ usr / bin / somedirectory / somecommand”テキストは、指定された時刻に実行されるタスクを示しています。上記の例に示すように、目的のコマンドへのフルパスを使用することをお勧めします。端末にどのような種類のコマンドを入力して、何らかのエラーの絶対パスを見つけます。crontabは、適切に編集して保存するとすぐに実行を開始します。

時間単位ごとに何回かスクリプトを実行することができます。たとえば、10分ごとに実行する場合は、次のcrontabエントリを使用します(10分、10分、20分、30分などで分単位で実行されます)

*/10 * * * * /usr/bin/somedirectory/somecommand

より面倒なことにも相当します

0,10,20,30,40,50 * * * * /usr/bin/somedirectory/somecommand

Cronには、以下の5つの日付と時刻のフィールドの代わりに使用できる特別な文字列も用意されています。

@reboot – 起動時に1回実行します。

@yearly – 一年に一度走る、"0 0 1 1 *"

@annually – (同じ@yearly

@monthly – 月に一度走ってください"0 0 1 * *"

@weekly – 1週間に1回、"0 0 * * 0"

@daily – 1日1回実行する"0 0 * * *"

@midnight – (同じ@daily

@hourly – 1時間に1回、"0 * * * *"

サンプル

コマンド /bin/echo Hello, world! を毎月の毎日の毎時間の1分目 (つまり 12:01, 1:01, 2:01 …) に実行するエントリ:

01 * * * * /bin/echo Hello, world!

1月の平日に5分ごと (つまり 12:00, 12:05, 12:10 …) に同じジョブを実行するエントリ:

*/5 * * jan mon-fri /bin/echo Hello, world!

次の行は夏 (6月, 7月, 8月) 以外の毎月の平日 (月-金) の午前9時から午後5時まで5分間隔で (午後5時0分は除く) スクリプト i_love_cron.sh を実行します (“man 5 crontab” より):

*0,*5 9-16 * 1-5,9-12 1-5 /home/user/bin/i_love_cron.sh

シェアする

  • このエントリーをはてなブックマークに追加

フォローする