Crontabの曜日の構文


204

crontabのでは曜日]フィールドはから実行しません0 - 61 -7

これについて矛盾する情報を見ています。0-6私が見たウィキペディアの状態や他のサイトは1-7です。

また、どのような影響がありますか、0それとも使用し7ていますか、それとも間違っていますか?つまり、cronはまだ実行されますか?

回答:


373

0そして7日曜日のスタンドの両方が、あなたはとても0-6または1-7は、同じ結果を持って書いて、あなたが望むものを使用することができます。

@Henrikにより示唆されるようにまた、のような、日の短縮名で番号を交換することが可能であるMONTHUなど、:

0 - Sun      Sunday
1 - Mon      Monday
2 - Tue      Tuesday
3 - Wed      Wednesday
4 - Thu      Thursday
5 - Fri      Friday
6 - Sat      Saturday
7 - Sun      Sunday

グラフィカルに:

 ┌────────── minute (0 - 59)
 │ ┌──────── hour (0 - 23)
 │ │ ┌────── day of month (1 - 31)
 │ │ │ ┌──── month (1 - 12)
 │ │ │ │ ┌── day of week (0 - 6 => Sunday - Saturday, or
 │ │ │ │ │                1 - 7 => Monday - Sunday)
 ↓ ↓ ↓ ↓ ↓
 * * * * * command to be executed

最後に、日ごとに指定する場合は、日をコンマで区切ることができます。たとえばSUN,MON,THU、コマンドは日曜日のみ、月曜日は木曜日に除外されます。

詳細については、WikipediaのCronに関する記事を参照してください。


4
了解しました。日曜日が0または7になる可能性があることに気づきませんでした。ありがとう
Marty Wallace

15
次のことはできないことに注意してください:Sat-Sun6-7またはのみSat,Sun
pkowalczyk

これが大文字と小文字を区別しないことを確認できますか?あなたが間に数回の切り替えSUNSunSundayあなたの応答
MichaelChirico

1
@MichaelChiricoああ、良い点。私が読んだCronに関するWikipediaの記事をチェックする月と平日の省略形は大文字と小文字を区別しません
fedorqui 'SO stop harming'

104
    :-) Sunday    |    0  ->  Sun
                  |  
        Monday    |    1  ->  Mon
       Tuesday    |    2  ->  Tue
     Wednesday    |    3  ->  Wed
      Thursday    |    4  ->  Thu
        Friday    |    5  ->  Fri
      Saturday    |    6  ->  Sat
                  |  
    :-) Sunday    |    7  ->  Sun

上記のように、前にも述べたように、数値07は両方とも日曜日に割り当てられています。また、英語の短縮された曜日がリストされており、crontabでも使用できます。

数字または略語の使用例

15 09 * * 5,6,0             command
15 09 * * 5,6,7             command
15 09 * * 5-7               command
15 09 * * Fri,Sat,Sun       command

4つの例はすべて同じことを行い、金曜日、土曜日、日曜日の9.15時にコマンドを実行します。

詳細に

2つの数値を持つ07日曜日は平日で始まる範囲を記述するために役立ちます0かで終わります7。同様に、日曜日で始まるか、それで終わる範囲を書くことができますので、0-2または5-7(たとえば、範囲が小さい数字で始める必要があり、より高で終了する必要があります)。省略形を使用して平日の範囲を定義することはできません。


1
明確にするために、「省略形を使用して平日の範囲を定義することはできません。」ここでのステ​​ートメントは、省略形をハイフンマイナス文字で区切ることはできず、カンマのみであると言う方法のようです。つまり、Fri,Sat,Sunに短縮することはできませんFri-Sun
Patrick Dark

8

Mon月曜日、Tue火曜日などの曜日名を使用することもできます。より人間にやさしいです。


これは一部のディストリビューションでは機能しません。Ubuntu 14.04.3 LTSでテストすると、 "/ tmp / crontab.Nuq9GE / crontab":24:bad day-of-week "
0x4B1D

3
@Nikitaはタイプミスや余分なスペースをチェックします。Ubuntu 14.04.3のcrontabに「Mon-Fri」と「Thu」の両方があり、どちらも問題なく動作します。キャラクターの間にスペースがあると、エラーが発生するのではないかと思います。
デールアンダーソン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.