Vie pratique

Syntaxe de crontab

Les cinq champs d’une ligne cron, les raccourcis (@daily…) et des exemples courants prêts à copier.

Gratuit Mis à jour le 11 septembre 2026

Les cinq champs

┌─────── minute (0-59)
│ ┌───── heure (0-23)
│ │ ┌─── jour du mois (1-31)
│ │ │ ┌─ mois (1-12)
│ │ │ │ ┌ jour de la semaine (0-7, 0 et 7 = dimanche)
│ │ │ │ │
* * * * *  commande à exécuter

Opérateurs

Symbole Sens
* toutes les valeurs
, liste : 1,15,30
- plage : 9-17
*/5 pas : toutes les 5 unités

Raccourcis

Raccourci Équivaut à
@hourly 0 * * * *
@daily 0 0 * * *
@weekly 0 0 * * 0
@monthly 0 0 1 * *
@reboot au démarrage

Exemples

*/15 * * * *   toutes les 15 minutes
0 3 * * *      tous les jours à 3 h
0 9 * * 1-5    à 9 h en semaine
30 2 1 * *     le 1er de chaque mois à 2 h 30

Éditer : crontab -e · lister : crontab -l · pensez à rediriger la sortie : >> /var/log/moncron.log 2>&1.

Variables d'environnement et chemins absolus

Cron s'exécute avec un environnement minimal (pas votre .bashrc) : utilisez toujours des chemins absolus.

MAILTO=""
PATH=/usr/local/bin:/usr/bin:/bin

0 2 * * * /usr/local/bin/mon-script.sh

Un script qui fonctionne parfaitement en ligne de commande peut échouer silencieusement dans cron si $PATH ne contient pas les mêmes dossiers qu'en session interactive.

Tester et déboguer une tâche cron

crontab -l                          # lister les tâches actuelles
grep CRON /var/log/syslog            # voir si/quand une tâche s'est déclenchée (Debian/Ubuntu)
run-parts --test /etc/cron.daily     # simuler les tâches système sans les exécuter

Pour déboguer une commande qui échoue silencieusement, testez-la d'abord avec exactement le même environnement que cron : env -i /bin/sh -c 'votre-commande'.

Cron vs systemd timers

Cron Timers systemd
Configuration Une ligne dans un fichier crontab Deux fichiers unit (.service + .timer)
Journalisation À gérer soi-même (redirection) Intégrée via journalctl
Dépendances Aucune gestion native Peut dépendre d'autres services
Simplicité Très simple pour une tâche isolée Plus verbeux, mais plus robuste à grande échelle
#Ligne de commande #DevOps
naviguer ouvrir Esc fermer