Planifier une tâche cron sans confondre fréquence et commande
Cron sert à lancer un traitement à des horaires définis. Dans une crontab utilisateur, la ligne commence par cinq champs de temps et se termine par la commande. Le générateur prépare la partie horaire ; il ne déploie aucun script sur votre serveur.
Pour une sauvegarde, un import de données ou un nettoyage de journaux, commencez par déterminer les heures souhaitées. La liste des prochaines exécutions permet ensuite de vérifier que la règle produit bien les dates attendues, notamment quand plusieurs jours ou plusieurs mois sont sélectionnés.
Créer une expression à partir d’un horaire
- Choisissez un modèle proche de votre besoin, puis ajustez les champs.
- Utilisez une liste pour plusieurs valeurs ou une plage pour une série continue.
- Pour contrôler une crontab existante, collez uniquement ses cinq champs horaires.
- Comparez l’aperçu UTC au fuseau du serveur avant de copier l’expression.
Lire les cinq champs d’une expression cron
Les espaces séparent, dans l’ordre, les minutes, les heures, le jour du mois, le mois et le jour de semaine. Dimanche peut s’écrire 0 ou 7. Les noms acceptés dans le code sont JAN–DEC et SUN–SAT, pas les noms français.
| Champ | Valeurs |
|---|---|
| Minute | 0–59 |
| Heure | 0–23 |
| Jour du mois | 1–31 |
| Mois | 1–12 |
| Jour de semaine | 0–7 |
- * : toutes les valeurs du champ.
- , : une liste, par exemple 0,30.
- - : une plage inclusive, par exemple 1-5.
- / : un pas dans le champ, par exemple
*/15.
Exemples : toutes les cinq minutes, chaque nuit, chaque mois
Les heures s’interprètent dans le fuseau du planificateur. La règle du lundi au vendredi ne tient pas compte des jours fériés : ce contrôle relève du traitement exécuté.
| Expression | Fréquence |
|---|---|
*/5 * * * * | Toutes les cinq minutes |
30 2 * * * | Chaque jour à 02:30 |
0 7 * * 1-5 | Du lundi au vendredi à 07:00 |
0 0 * * 0 | Chaque dimanche à minuit |
0 0 1 * * | Le premier de chaque mois à minuit |
0 0 29 2 * | Le 29 février des années bissextiles |
Ajouter la tâche à la crontab Linux
La commande crontab -e ouvre les tâches de l’utilisateur courant. Avec l’exemple ci-dessous, le script de sauvegarde démarre chaque jour à 02:30, selon le fuseau configuré pour cron.
Privilégiez un chemin absolu et vérifiez les droits d’exécution. Un horaire valide ne garantit pas que le script fonctionnera : le service cron doit être actif et l’environnement nécessaire au traitement doit être disponible.
30 2 * * * /usr/local/bin/backup.shQuestions fréquentes sur les expressions cron
L’aperçu utilise-t-il l’heure de Paris ?
Non : les dates sont calculées en UTC, sans passage à l’heure d’été. Le fuseau ne figure pas dans l’expression cron ; il dépend du planificateur. Vérifiez sa configuration si le serveur fonctionne en heure locale.
Toutes les cinq minutes à partir de quel instant ?
Avec */5 dans les minutes, cron retient 0, 5, 10, 15, etc. de chaque heure. Il ne compte pas cinq minutes à partir du moment où vous enregistrez la tâche.
Que se passe-t-il si je précise à la fois le jour et le jour de semaine ?
Lorsque les deux champs sont restreints, une seule correspondance suffit. 0 9 1 * MON vise le premier du mois ou le lundi à 09:00. Si l’un des champs commence par *, les deux conditions de jour doivent être satisfaites.
Puis-je vérifier une expression Quartz ?
Le format accepté est celui de Linux à cinq champs. Les secondes, ?, L, W, # et @reboot ne sont pas pris en charge. Les alias @hourly, @daily, @weekly, @monthly et @yearly sont convertis.
Une expression valide peut-elle ne jamais correspondre ?
Oui, par exemple avec le 31 février. La recherche porte sur huit ans ; un horaire limité au 29 février peut aussi donner moins de cinq dates. Le générateur vérifie le calendrier, pas la réussite du script.
