Retour au blog
Mai 23, 2026Guides

Configurer des tâches cron sur un serveur Linux

Syntaxe cron, édition crontab, exemples et journaux pour l’automatisation sur VPS.

Configurer des tâches cron sur un serveur Linux

Cron est le planificateur standard Linux pour exécuter scripts et commandes à heures fixes — sauvegardes, cache, certificats, etc.

Syntaxe cron

Chaque ligne a cinq champs de temps puis la commande :

bash
# ┌──────── 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

# Chaque jour à 3h :
0 3 * * * /usr/local/bin/backup.sh

# Toutes les 15 minutes :
*/15 * * * * /usr/local/bin/check.sh

Éditer la crontab

crontab -e pour l’utilisateur courant. Tâches système avec sudo :

bash
# Crontab utilisateur
crontab -e

# Crontab root
sudo crontab -e

# Lister les tâches
crontab -l
sudo crontab -l

Exemples courants

  • 0 2 * * * — sauvegarde quotidienne à 2h
  • 0 */6 * * * — toutes les 6 heures
  • 0 0 * * 0 — chaque dimanche à minuit
  • */5 * * * * — toutes les 5 minutes (avec prudence)
  • @reboot /chemin/script.sh — après redémarrage
  • @daily /usr/bin/certbot renew --quiet — renouvellement SSL

Journaux et débogage

Redirigez la sortie vers un fichier log :

bash
0 3 * * * /usr/local/bin/backup.sh >> /var/log/backup-cron.log 2>&1

# Cron dans le journal système :
grep CRON /var/log/syslog   # Ubuntu
grep CRON /var/log/cron      # CentOS

Conseils

  • Chemins absolus dans les commandes cron
  • Testez les scripts à la main avant crontab
  • MAILTO=email dans crontab pour les erreurs (si mail configuré)
  • Timers systemd pour des dépendances complexes
  • Évitez les tâches lourdes chaque minute