Tâche cron
Une tâche cron (cron job) est une tâche programmée pour s'exécuter automatiquement à des heures ou des intervalles fixes sur un serveur, par exemple chaque nuit à 2 h ou chaque lundi matin. C'est le moyen standard d'automatiser les travaux récurrents comme les sauvegardes, les rapports et les synchronisations de données, sans intervention humaine.
Qu'est-ce qu'une tâche cron ?
Une tâche cron est une commande ou un script qu'un planificateur lance de lui-même à un moment défini. Le nom vient de cron, l'outil de planification horaire intégré aux systèmes Unix et Linux. Un service en arrière-plan lit une liste de planifications et exécute chaque tâche à l'heure prévue, que quelqu'un soit connecté ou non.
Elle est précieuse, car une grande partie du travail qui garde un produit en bonne santé est répétitive : nettoyer d'anciennes données, envoyer des récapitulatifs, rafraîchir des caches, renouveler des certificats. Planifier ces tâches supprime l'effort manuel et le risque d'oubli, et rend le résultat régulier : la même tâche s'exécute de la même façon à chaque fois, à un moment où le trafic est généralement faible.
La syntaxe cron expliquée
Chaque tâche est une ligne d'un fichier appelé crontab. Elle commence par cinq champs de temps, suivis de la commande à exécuter :
* * * * * commande
- Minute (0-59)
- Heure (0-23)
- Jour du mois (1-31)
- Mois (1-12)
- Jour de la semaine (0-7, où 0 et 7 désignent le dimanche)
Par exemple, cette ligne lance un script de sauvegarde chaque jour à 02 h 30 :
30 2 * * * /usr/local/bin/backup.sh
L'astérisque signifie « toutes les valeurs », la virgule liste des valeurs, le tiret définit une plage et la barre oblique un pas : */15 * * * * s'exécute toutes les 15 minutes.
Les usages courants des tâches cron
- Sauvegardes de base de données et rotation des journaux.
- Envoi d'e-mails programmés, de rappels ou de rapports hebdomadaires.
- Synchronisation de données entre outils ou actualisation d'un flux externe.
- Génération de sitemaps et purge des caches ou sessions expirés.
- Contrôles de santé et alertes lorsqu'un service ne répond plus.
Les plateformes managées proposent le même principe sans serveur : Supabase, Cloudflare Workers et la plupart des fournisseurs cloud permettent de planifier des fonctions avec une expression cron.
Tâche cron, webhook et déclenchement manuel
| Déclencheur | Démarre quand | Idéal pour |
|---|---|---|
| Tâche cron | Une heure ou un intervalle défini est atteint | Les tâches récurrentes et prévisibles |
| Webhook | Un événement externe envoie une requête | Réagir immédiatement à un événement |
| Déclenchement manuel | Une personne lance la tâche | Les opérations ponctuelles ou exceptionnelles |
La tâche cron consulte le calendrier, le webhook attend un événement. De nombreuses automatisations combinent les deux : le webhook traite l'événement en direct, et une tâche cron nocturne rattrape ce qui a été manqué.
Bonnes pratiques et pièges courants
Rendez chaque tâche idempotente, c'est-à-dire qu'une double exécution produit le même résultat qu'une seule, car les chevauchements et les relances arrivent. Journalisez la sortie et surveillez la réussite, par exemple avec un ping de type heartbeat vers un service de supervision : une tâche cron qui échoue en silence est pire que pas de tâche. Utilisez des chemins absolus et définissez explicitement l'environnement, car cron s'exécute avec un environnement minimal.
Surveillez le fuseau horaire : un serveur en UTC ne lancera pas une tâche à 9 h heure de Paris sans prise en compte du décalage et du passage à l'heure d'été. Évitez d'empiler des tâches lourdes à la même minute et ajoutez un verrou pour qu'une exécution lente ne chevauche pas la suivante.
Documentez enfin chaque tâche : ce qu'elle fait, qui en est responsable et quoi faire en cas d'échec. Les tâches planifiées tombent facilement dans l'oubli jusqu'au jour où elles cassent, et une tâche non documentée est difficile à réparer dans l'urgence.
Les tâches cron chez BeBranded
Nous utilisons des tâches planifiées, dans le code ou dans des outils no-code comme Make et n8n, pour garder les données synchronisées et les rapports à jour sans travail manuel. Elles font partie des briques des workflows que nous livrons dans notre service automatisation.