Un planificateur qui déclenche automatiquement une commande à une heure ou un intervalle défini, sans intervention humaine.

Le réveil programmable

Un réveil sonne à 7h chaque matin. Pas besoin d'appuyer sur un bouton. Pas besoin d'être là. L'heure arrive, ça se déclenche.

CRON fonctionne exactement comme ça pour les serveurs. On définit une règle une fois : "exécute ce script tous les lundis à 9h" ou "vérifie les nouvelles données toutes les 5 minutes". La machine s'en charge sans supervision.

Exemples concrets

  • Envoyer la veille hebdo chaque lundi matin à 8h
  • Sauvegarder une base de données chaque nuit à 3h
  • Vérifier les prix d'un concurrent toutes les heures
  • Nettoyer les fichiers temporaires chaque dimanche

Pour aller plus loin

Une règle CRON s'écrit en 5 champs, séparés par des espaces :

* * * * *
│ │ │ │ └── jour de la semaine (0=dim, 6=sam)
│ │ │ └──── mois (1-12)
│ │ └────── jour du mois (1-31)
│ └──────── heure (0-23)
└────────── minute (0-59)

Exemples :

0 8 * * 1     → tous les lundis à 8h00
*/5 * * * *   → toutes les 5 minutes
0 3 * * *     → chaque nuit à 3h
0 0 1 * *     → le 1er de chaque mois à minuit

Les tâches CRON vivent dans le crontab (fichier de configuration). On les édite avec crontab -e.

Sur les serveurs modernes, CRON est souvent remplacé par des workers ou des systèmes de queue (BullMQ, Sidekiq) pour les tâches complexes. Mais pour les scripts simples, CRON reste la solution la plus directe.