Debian 12 – Tâches planifiées via crontab

Aujourd’hui, je vais vous expliquer comment mettre en place des tâches planifiées via l’outil crontab.

Afin d’éditez vos tâches planifiées, veuillez saisir la commande crontab -e

Ensuite vos cron seront à configurer en suivant le modèle ci-dessous :

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  *  user command to be executed

Par exemple, si on sait la ligne 30 22 * * * /home/will/db_backup.sh, cela signifie que le script /home/will/db_backup.sh s’exécutera tous les jours à 22h30.

Mais j’aurai pu saisir 30 22 * * 6 /home/will/db_backup.sh pour une sauvegarde tous les samedis, toujours à 22h30.

Ou bien 30 22 1 * * /home/will/db_backup.sh pour une sauvegarde tous les 1er de chaque mois, toujours au même horaire…


Petite astuce troubleshooting :

Si vous voulez savoir quel utilisateur a mis en place des crons ou non, et lesquelles, je vous invite à utiliser la commande for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done. Bien sûr, il faut l’exécuter en tant que root.