Crontab Day of the Week syntax

后端 未结 3 657
攒了一身酷
攒了一身酷 2020-12-12 10:45

In crontab does the Day of the Week field run from 0 - 6 or 1 -7?

I am seeing conflicting information on this. wikipedia states 0-6<

相关标签:
3条回答
  • 2020-12-12 11:25

    0 and 7 both stand for Sunday, you can use the one you want, so writing 0-6 or 1-7 has the same result.

    Also, as suggested by @Henrik, it is possible to replace numbers by shortened name of days, such as MON, THU, etc:

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

    Graphically:

     ┌────────── 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
    

    Finally, if you want to specify day by day, you can separate days with commas, for example SUN,MON,THU will exectute the command only on sundays, mondays on thursdays.

    You can read further details in Wikipedia's article about Cron.

    0 讨论(0)
  • 2020-12-12 11:34

    You can also use day names like Mon for Monday, Tue for Tuesday, etc. It's more human friendly.

    0 讨论(0)
  • 2020-12-12 11:36
        :-) Sunday    |    0  ->  Sun
                      |  
            Monday    |    1  ->  Mon
           Tuesday    |    2  ->  Tue
         Wednesday    |    3  ->  Wed
          Thursday    |    4  ->  Thu
            Friday    |    5  ->  Fri
          Saturday    |    6  ->  Sat
                      |  
        :-) Sunday    |    7  ->  Sun
    

    As you can see above, and as said before, the numbers 0 and 7 are both assigned to Sunday. There are also the English abbreviated days of the week listed, which can also be used in the crontab.

    Examples of Number or Abbreviation Use

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

    The four examples do all the same and execute a command every Friday, Saturday, and Sunday at 9.15 o'clock.

    In Detail

    Having two numbers 0 and 7 for Sunday can be useful for writing weekday ranges starting with 0 or ending with 7. So you can write ranges starting with Sunday or ending with it, like 0-2 or 5-7 for example (ranges must start with the lower number and must end with the higher). The abbreviations cannot be used to define a weekday range.

    0 讨论(0)
提交回复
热议问题