GNU/Linux >> Tutoriels Linux >  >> Linux

Syntaxe du jour de la semaine Crontab

    :-) 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 dit précédemment, les numéros 0 et 7 sont tous deux affectés au dimanche. Il y a aussi les jours abrégés en anglais de la semaine répertoriés, qui peuvent également être utilisés dans la crontab.

Exemples d'utilisation de chiffres 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 font la même chose et exécutent une commande tous les vendredis, samedis et dimanches à 9h15.

En détail

Avoir deux nombres 0 et 7 pour le dimanche peut être utile pour écrire des plages de jours de la semaine commençant par 0 ou se terminant par 7 . Vous pouvez donc écrire des plages commençant par dimanche ou se terminant par lui, comme 0-2 ou 5-7 par exemple (les plages doivent commencer par le nombre inférieur et se terminer par le nombre supérieur). Les abréviations ne peuvent pas être utilisées pour définir une plage de jours de la semaine.


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


0 et 7 les deux représentent le dimanche, vous pouvez utiliser celui que vous voulez, donc écrire 0-6 ou 1-7 a 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, comme 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 signifie :

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 jour par jour, vous pouvez séparer les jours par des virgules, par exemple SUN,MON,THU exécutera la commande uniquement les dimanches, les lundis les jeudis.

Vous pouvez lire plus de détails dans l'article de Wikipedia sur Cron et vérifier une expression cron en ligne avec crontab.guru.


Linux
  1. Où est le journal cron/crontab ? / Comment activer le Cron Log ?

  2. Crontab tapé accidentellement avec juste le tiret ?

  3. Crontab après l'heure ?

  4. Comment exécuter une tâche cron certains jours de la semaine

  5. Comment déterminer le numéro de la semaine du mois

Comment exécuter une tâche Crontab chaque semaine le dimanche

Comment définir le lundi comme premier jour de la semaine dans l'applet de calendrier Gnome ?

50 commandes Crontab Linux incroyables pour les administrateurs système

Sauvez la journée avec Stellar Phoenix Windows Data Recovery

Réussissez à sauver la journée avec les commandes d'historique de Bash

Quel jour/heure commence un cron hebdomadaire ?