Modifier sa table
crontab -e # modifier
crontab -l # lister
sudo crontab -e # tâches exécutées en root
La syntaxe
# ┌ 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
30 2 * * * /home/lea/bin/sauvegarde.sh >> /home/lea/sauvegarde.log 2>&1
0 * * * * /usr/local/bin/verif.sh
*/15 * * * * /usr/bin/php /var/www/site/cron.php
0 9 * * 1-5 /home/lea/bin/rappel.sh
@reboot /home/lea/bin/demarrage.shLe site crontab.guru traduit une expression en langage clair.
Les pièges
- cron n'a pas votre environnement : utilisez des chemins complets (
/usr/bin/php,/home/lea/…). - Le script doit être exécutable :
chmod +x script.sh. - Redirigez la sortie (
>> fichier.log 2>&1) pour voir les erreurs. %a un sens spécial dans une crontab : échappez-le (\%), par exemple dansdate +\%F.
Vérifier
grep CRON /var/log/syslog
journalctl -u cron --since todayAlternative moderne : les timers systemd (systemctl list-timers).