Crontab, etc
Syntaxe
https://crontab.guru/ pour retrouver les bons paramètres de date.
Mais sinon dans l'ordre :
- minute (00 - 59)
- heure (00 - 23)
- jour (01 - 31)
- mois (01 - 12) OR jan,feb,mar,apr …
- jour de la semaine (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
- l'utilisateur (facultatif)
- la commande.
Concernant la syntaxe :
*
: “le premier et le dernier”. Donc on met ça pour dire “à chaque tour”.1-5
toutes les unités de temps 1 à 5 (par exemple entre le premier et cinquième jour du mois)*/6
toutes les 6 unités de temps (par exemple toutes les 6h).- On peut déclarer une plage. “0-20/2” sur les heures signifie “fait toutes les deux heures entre minuit et 20h”.
- Attention, l'astérisque est pris en compte, donc “*/23” déclenchera le cron à minuit et 23h.
2,7
toutes les unités de temps 2 ET 7.6~15
choisit une unité de temps aléatoire entre 6 et 15.0-4,8-12
: On peut combiner avec les virgules (ici entre 0 et 4 ET entre 8 et 12).
Donc pour tous les jours, 5 minutes après minuit, il faut faire :
5 0 * * * commande
Trucs utiles
Lister tous les cron de tous les utilisateurs :
for user in $(cut -f1 -d: /etc/passwd); do echo -e "\n==> $user:" && crontab -u $user -l; done
Éditer un cron d'utilisateur :
crontab -u nom_utilisateur -e
Sites utiles
- https://www.man7.org/linux/man-pages/man5/crontab.5.html : la doc c'est bien.