⏱️
← Retour aux guides

Syntaxe des expressions cron : un guide complet avec exemples

· Tags: cron-syntax, crontab-format, cron-fields, cron-expression-guide, linux-automation

Syntaxe des expressions cron

Cron est le planificateur de tâches standard des systèmes de type Unix. Chaque expression cron définit un calendrier dans une chaîne compacte qui spécifie quand une commande doit s'exécuter. Comprendre la syntaxe est essentiel pour automatiser les sauvegardes, la rotation des journaux et les tâches de maintenance.

Le format à 5 champs

Une expression cron standard comporte cinq champs séparés par des espaces :

* * * * *
| | | | |
| | | | +----- Jour de la semaine (0-7, 0 et 7 = dimanche)
| | | +------- Mois (1-12)
| | +--------- Jour du mois (1-31)
| +----------- Heure (0-23)
+------------- Minute (0-59)

Détails des champs

| Champ | Plage | Caractères spéciaux | Exemple | |-------|-------|-------------------|---------| | Minute | 0-59 | , - * / | 30 = à la minute 30 | | Heure | 0-23 | , - * / | 6 = à 6 h | | Jour du mois | 1-31 | , - * / | 15 = le 15 | | Mois | 1-12 | , - * / | 6 = en juin | | Jour de la semaine | 0-7 | , - * / | 0 = le dimanche |

La minute contrôle la minute exacte d'exécution : 30 * * * * s'exécute à la minute 30 de chaque heure. L'heure définit le moment de la journée : 0 6 * * * s'exécute à 6:00 tous les jours. Le jour du mois restreint l'exécution à des dates calendaires précises : 0 0 15 * * s'exécute le 15 de chaque mois à minuit. Le mois limite l'exécution à des mois précis : 0 0 1 6 * s'exécute le 1er juin. Le jour de la semaine contrôle les jours ouvrés : 0 8 * * 1-5 s'exécute à 8 h du lundi au vendredi.

Important : les jours 29-31 ne s'exécutent que dans les mois qui comportent ces dates. Dans les mois plus courts, ces valeurs sont silencieusement ignorées.

Caractères spéciaux

| Caractère | Nom | Objectif | Exemple | |------|------|---------|---------| | * | Astérisque | Toutes les valeurs possibles | * en minute = chaque minute | | , | Virgule | Liste de valeurs | 1,15,30 = minutes 1, 15, 30 | | - | Tiret | Plage | 9-17 = heures 9 à 17 | | / | Barre oblique | Valeurs par pas | */5 = toutes les 5 minutes |

Valeurs par pas avec la barre oblique

La barre oblique exprime « toutes les N unités » :

# Toutes les 5 minutes
*/5 * * * *

# Toutes les 2 heures
0 */2 * * *

# Toutes les 15 minutes pendant les heures ouvrables
*/15 9-17 * * *

Modèles de planification cron courants

| Planification | Expression | Description | |----------|------------|-------------| | Chaque minute | * * * * * | S'exécute 1 440 fois par jour | | Toutes les 5 minutes | */5 * * * * | Vérifications de santé, surveillance | | Toutes les heures | 0 * * * * | En haut de chaque heure | | Deux fois par jour | 0 6,18 * * * | 6 h et 18 h | | Quotidien à minuit | 0 0 * * * | Maintenance classique | | Dimanche hebdomadaire | 0 0 * * 0 | Maintenance hebdomadaire | | 1er du mois | 0 0 1 * * | Rapports mensuels | | Jours ouvrés à 9 h | 0 9 * * 1-5 | Début des heures ouvrables |

Raccourcis non standard

Certaines implémentations de cron prennent en charge des raccourcis nommés : @yearly (1er janvier), @monthly (1er du mois), @weekly (dimanche), @daily (minuit), @hourly et @reboot (s'exécute une fois au démarrage du système). Pris en charge par Vixie cron, cronie et les timers systemd.

Erreurs courantes

  • Définir à la fois le jour du mois et le jour de la semaine crée une condition OU — la tâche s'exécute lorsque l'un des deux correspond, ce qui est rarement l'intention recherchée.
  • Cron utilise le fuseau horaire du système. Les tâches proches des transitions d'heure d'été peuvent s'exécuter deux fois ou pas du tout.
  • Comptez toujours cinq champs. Quatre champs est invalide ; six champs nécessite une syntaxe cron étendue.

Testez vos expressions cron

Utilisez le validateur d'expressions cron pour vérifier la syntaxe, prévisualiser les horaires d'exécution à venir et détecter les erreurs avant qu'elles n'affectent la production. Une vérification de validation de trente secondes évite les échecs de planification silencieux.

Syntaxe des expressions cron : un guide complet avec exemples - CoolTool