Files
mkdocs/docs/Linux/cron.md
2025-03-25 15:52:48 +01:00

2.8 KiB

cron

* * * * * command(s)
^ ^ ^ ^ ^
| | | | |     allowed values
| | | | |     -------
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)

https://crontab.guru

@yearly 0 0 1 1 * Tous les 1er janvier à midi
@monthly 0 0 1 * * Tous les 1er du mois à minuit
@weekly 0 0 * * 0 Tous les dimanches à minuit
@daily 0 0 * * * Tous les jours à minuit
@hourly 0 * * * * Toutes les heures
@reboot Au démarrage de l'ordinateur
0 15 * * 1-5 command Tous les jours à 15h du lundi au vendredi
00 08-16 * * * Toutes les jours, toutes les heures de 8h à 16h
0 7 1-7 * 1 Le 1er lundi de chaque mois à 7h
15 9 1,15 * * Le 1er et le 15 du mois à 9h15
*/15 * * * * Toutes les 15 mn

La commande crontab:

  • crontab -e: édite ou crée le fichier crontab.
  • crontab -l: affiche le fichier crontab.
  • crontab -r: supprime le fichier crontab (directement).
  • crontab -i: supprime le fichier crontab (prompt).
  • crontab -u <user> : édite le fichier crontab d'un autre utilisateur.

Le fichier crontab s'ouvre dans l'éditeur spécifié par la variable d'environnement EDITOR (ou VISUAL).

https://linuxize.com/post/scheduling-cron-jobs-with-crontab/

Voir si le cron est exécuté:

On ouvre la crontab avec # crontab -e:

# On redirige la sortie et les erreurs du scripts vers les logs avec  2>&1 | logger -t up_pihole
# Ici le cron est exécuté toutes les 2 minutes.

*/2 * * * *  bash /root/update_pihole.sh 2>&1 | logger -t up_pihole

On cherche les sorties du cron dans les logs:

# journalctl -f | grep 'up_pihole\|cron'
Aug 25 16:40:01 PiHole1 CRON[438003]: (root) CMD (/usr/bin/env > /root/cron-env)
Aug 25 16:40:01 PiHole1 CRON[438004]: (root) CMD (bash /root/update_pihole.sh 2>&1 | logger -t up_pihole)
Aug 25 16:40:01 PiHole1 CRON[438001]: pam_unix(cron:session): session closed for user root
Aug 25 16:40:02 PiHole1 up_pihole[438007]: Find Pi-hole update on PiHole1
Aug 25 16:40:02 PiHole1 up_pihole[438007]:
Aug 25 16:40:02 PiHole1 up_pihole[438007]:  Pi-hole    Current    Last
Aug 25 16:40:02 PiHole1 up_pihole[438007]:  Pi-hole    v5.18.3    v5.18.3