Comment planifier des tâches automatiques avec cron sous Linux
Syntaxe, exemples pratiques et l'erreur la plus courante (chemins relatifs).
cron exécute des commandes automatiquement aux moments que vous définissez, sans que vous ayez à penser à le faire manuellement.
crontab -e
Chaque ligne suit ce format :
# minute heure jour mois jour-semaine commande
0 2 * * * /chemin/vers/script.sh
| Exemple | Signification |
|---|---|
0 2 * * * | Chaque jour à 2h00 |
*/15 * * * * | Toutes les 15 minutes |
0 9 * * 1 | Chaque lundi à 9h00 |
0 0 1 * * | Le 1er de chaque mois |
Conseil : utilisez toujours le chemin complet vers le script (pas un chemin relatif) — cron n'exécute pas les tâches depuis votre dossier personnel, donc un chemin relatif qui fonctionne bien manuellement peut échouer silencieusement dans cron.
Voir vos tâches planifiées
crontab -l
Note : si une tâche cron ne semble pas s'exécuter,
consultez le journal système
(grep CRON /var/log/syslog) pour confirmer si elle a
vraiment été tentée et quelle erreur elle a donnée, le cas échéant.
Questions fréquentes
Pourquoi mon script fonctionne-t-il manuellement mais pas depuis cron ?
La cause la plus courante est d'utiliser un chemin relatif au lieu du chemin complet — cron n'exécute pas les tâches depuis votre dossier personnel, donc les chemins relatifs peuvent ne pas trouver les fichiers dont ils ont besoin.
Comment vérifier si une tâche cron s'est exécutée ?
Consultez le journal système avec 'grep CRON /var/log/syslog' (ou journalctl sur les systèmes plus récents), qui montre si la tâche a été tentée et toute erreur associée.