*/5 * * * *Champs
| Minute | */5 | 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55 |
|---|---|---|
| Heure | * | toutes |
| Jour du mois | * | toutes |
| Mois | * | toutes |
| Jour de la semaine | * | toutes |
Où l’utiliser
| crontab | */5 * * * * /path/to/script.sh |
|---|---|
| GitHub Actions | - cron: "*/5 * * * *" (on.schedule) |
| Kubernetes CronJob | schedule: "*/5 * * * *" |
crontab utilise le fuseau horaire du serveur ; GitHub Actions utilise toujours UTC.
Bon à savoir
*/5 dans le champ des minutes s’exécute aux minutes 0, 5, 10 et ainsi de suite jusqu’à 55, alignées sur l’horloge et non sur le moment où vous avez enregistré la crontab. Toutes les tâches de tous les serveurs qui utilisent */5 se déclenchent à la même seconde, ce qui peut provoquer un pic sur une base de données ou une API partagée ; décalez les tâches lourdes avec 2-59/5, qui s’exécute à 2, 7, 12 et ainsi de suite. Toutes les 10 minutes s’écrit */10.
Si une exécution peut durer plus de 5 minutes, protégez-la avec flock -n pour éviter que les copies se chevauchent ; dans Kubernetes, concurrencyPolicy: Forbid fait de même. Le PATH et l’environnement de cron sont minimaux : appelez les programmes par leur chemin absolu et chargez les variables dans le script. Ajoutez la sortie à un log. GitHub Actions accepte */5 comme minimum, mais les exécutions planifiées démarrent souvent avec plusieurs minutes de retard en cas de forte charge.