web-dev-qa-db-fra.com

Que signifie * * * * * (cinq astérisques) dans un fichier cron?

La première ligne sans commentaire d'un fichier crontab hérité commence par cinq astérisques:

* * * * * ([a_command]) >/dev/null 2>&1

Les auteurs sont partis, donc je ne connais pas leur intention . Qu'est-ce que tous les caractères génériques signifient pour (Solaris 8) cron? Le pari ici est soit exécuté une fois, exécuté en continu, ou exécuté jamais, ce qui est malheureusement large.

Si vous vous interrogez sur la ligne de commentaire qui précède, il s'agit de "Ne pas supprimer".

Remarque: ce fichier cron est fonctionnel. Cette question n'est pas un double d'une question sur les fichiers cron cassés ou les fichiers cron qui nécessitent un dépannage.

50
Thomas L Holaday

Chaque minute de chaque jour de chaque semaine de chaque mois, cette commande s'exécute.

man 5 crontab a la documentation de ceci. Si vous tapez simplement man crontab, vous obtenez la documentation de la crontab commande. Ce que vous voulez est la section 5 des pages de manuel qui couvre les fichiers de configuration du système, y compris le /etc/crontab fichier. Pour référence future, les sections sont décrites dans man man:

   1   Executable programs or Shell commands
   2   System calls (functions provided by the kernel)
   3   Library calls (functions within program libraries)
   4   Special files (usually found in /dev)
   5   File formats and conventions eg /etc/passwd
   6   Games
   7   Miscellaneous  (including  macro  packages and conven‐
       tions), e.g. man(7), groff(7)
   8   System administration commands (usually only for root)
   9   Kernel routines [Non standard]
52
Luke has no name

* = toujours. Il s'agit d'un caractère générique pour chaque partie de l'expression de planification cron.

Donc * * * * * veux dire every minute de every hour de every day de every month et every day du week.

 * * * * *  command to execute
 ┬ ┬ ┬ ┬ ┬
 │ │ │ │ │
 │ │ │ │ │
 │ │ │ │ └───── day of week (0 - 7) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0)
 │ │ │ └────────── month (1 - 12)
 │ │ └─────────────── day of month (1 - 31)
 │ └──────────────────── hour (0 - 23)
 └───────────────────────── min (0 - 59)

Le joli dessin ci-dessus est fourni par wikipedia

Un autre exemple:

0 * * * * -cela signifie que le cron s'exécutera toujours lorsque les minutes sont 0 (toutes les heures)
0 1 * * * - cela signifie que le cron fonctionnera toujours à 1 heure.
* 1 * * * - cela signifie que le cron s'exécutera chaque minute lorsque l'heure est 1. Donc 1:00, 1:01, ...1:59.

32
Mohammad Faisal
First star = Minutes: 0-59
Second star = Hours: 0-23
Third star = Day of Month: 0 - 31
Fourth star = Month: 0 - 12
Fifth star = Day of Week: 0 - 6 (0 means sunday)

Supposons que vous souhaitiez exécuter quelque chose le 1er de chaque mois.

0 0 1 * * something.sh
9
Michael Burns