292 votes

Syntaxe du jour de la semaine de Crontab

Dans la crontab, le champ Jour de la semaine s'exécute-t-il à partir de 0 - 6 o 1 -7 ?

Je trouve des informations contradictoires à ce sujet. wikipedia indique 0-6 et d'autres sites que j'ai vus sont 1-7 .

Par ailleurs, quelles seraient les conséquences de l'utilisation de 0 o 7 Le cron continuerait-il à s'exécuter ?

529voto

fedorqui Points 42938

0 y 7 Les deux signifient dimanche, vous pouvez utiliser celui que vous voulez, donc écrire 0-6 ou 1-7 donne le même résultat.

De plus, comme suggéré par @Henrik, il est possible de remplacer les nombres par des noms abrégés de jours, tels que 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

Graphiquement, * * * * * command to be executed est synonyme de :

minute

heure

jour du mois

mois

jour de la semaine

(0-59)

(0-23)

(1-31)

(1-12)

(1-7)

*

*

*

*

*

commande à exécuter

Ou en utilisant l'ancien style :

  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

Enfin, si vous souhaitez spécifier le jour par jour, vous pouvez séparer les jours par des virgules, par exemple SUN,MON,THU n'exécutera le commandement que les dimanches, lundis et jeudis.

Pour plus d'informations, voir Article de Wikipédia sur Cron et vérifier une expression cron en ligne avec crontab.guru .

132voto

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

Comme vous pouvez le voir ci-dessus, et comme nous l'avons déjà dit, les chiffres 0 y 7 sont tous deux affectés au dimanche. Les jours de la semaine abrégés en anglais sont également répertoriés, ce qui peut également être utilisé dans la crontab.

Exemples d'utilisation de numéros ou d'abréviations

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

Les quatre exemples sont identiques et exécutent une commande tous les vendredis, samedis et dimanches à 9h15.

En détail

En utilisant à la fois 0 y 7 pour représenter le dimanche est avantageux pour créer des plages de jours de semaine [*] qui commencent ou se terminent par dimanche, tels que 0-2 o 5-7 . Les fourchettes doivent commencer par le chiffre le plus bas et se terminer par le chiffre le plus élevé. Il est important de noter que les abréviations ne peuvent pas être utilisées pour définir une plage de jours de la semaine à l'aide d'un trait d'union. Par exemple, vous ne pouvez pas abréger Fri,Sat,Sun a Fri-Sun .


[Dans le contexte d'une crontab, une plage est utilisée pour spécifier une séquence continue d'unités de temps, telles que les minutes, les heures, les jours ou les jours de la semaine. Dans la crontab, les plages sont représentées à l'aide d'un trait d'union (-) entre les valeurs inférieure et supérieure. Par exemple, une plage de jours de la semaine allant du lundi (1) au mercredi (3) serait représentée comme suit 1-3 .

12voto

Cyril Bouthors Points 1204

Vous pouvez également utiliser des noms de jours comme Mon pour lundi, Tue pour le mardi, etc. C'est plus convivial.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X