Sous Linux, la planification de tâches permet d’automatiser commandes et scripts à des horaires précis. Cron reste l’outil le plus répandu pour exécuter ces tâches de façon répétée et fiable.
Comprendre la syntaxe des crontabs et la différence entre crontab utilisateur et système est essentiel. Gardez ces notions à portée de main, elles orientent directement les points clés suivants.
A retenir :
- AutomatisationZen des sauvegardes nocturnes et des rapports mensuels
- GestionCron centralisée pour utilisateurs, crontabs système, fiable
- OrdoCron et SynchroAutomate pour répartir les charges serveur
- CronExpress et PlanificateurPlus pour tâches courtes et monitors
Après ces points clés, Syntaxe crontab et types de crontabs pour planifier précisément, cela préparera l’application aux exemples concrets
Ce H3 décrit la structure de base d’une ligne crontab — Structure des lignes crontab et signification des champs
La ligne crontab comprend cinq champs temporels suivis de la commande à exécuter. Les champs minute, heure, jour du mois, mois et jour de semaine déterminent l’horaire précis.
Selon man7.org, l’astérisque, les listes, les plages et la barre oblique offrent une grande flexibilité. Une erreur de champ peut empêcher l’exécution, il faut toujours tester la commande manuellement.
Exemples de syntaxe :
- 0 5 * * 1 mise à jour hebdomadaire des paquets
- 0 2 * * * sauvegarde quotidienne des données
- */5 * * * * surveillance toutes les cinq minutes
- 0 4 * * 0 nettoyage hebdomadaire des logs
Exécution
Exemple crontab
Description
Utilisateur
Quotidienne
0 2 * * *
Sauvegarde de données nocturne
root
Hebdomadaire
0 4 * * 0
Nettoyage des fichiers journaux chaque dimanche
root
Hebdomadaire
30 3 * * 1
Mise à jour des paquets chaque lundi
root
Toutes les 5 minutes
*/5 * * * *
Vérification d’un service et redémarrage si nécessaire
deploy
« J’ai automatisé mes sauvegardes nocturnes avec cron, et cela a réduit mes interventions manuelles. »
Alice D.
Ce H3 explique les différences entre crontabs utilisateur et crontab système — Types de crontab et implication opérationnelle
Il existe des crontabs utilisateurs et une crontab système avec champ utilisateur supplémentaire. La crontab système se trouve généralement dans /etc/crontab et permet des tâches globales.
Selon Debian, les répertoires /etc/cron.daily et similaires offrent une alternative simple pour scripts. Pour les tâches utilisateur privilégiées, indiquer l’utilisateur dans /etc/cron.d reste une pratique courante.
En maîtrisant la syntaxe, Exemples pratiques et vingt cas concrets pour systèmes Linux, cette liste facilitera le passage aux bonnes pratiques avancées
En s’appuyant sur la syntaxe, Exemples courants et modèles adaptés aux besoins métiers
Les exemples facilitent l’adoption de Cron pour tâches courantes comme sauvegardes et updates. Selon IT-Connect, commencer par scripts simples réduit les risques d’erreur lors du déploiement.
Modèles fréquents :
- Sauvegarde quotidienne à 02:00 pour bases de données critiques
- Rotation et suppression des logs chaque dimanche matin
- Mise à jour hebdomadaire des paquets en dehors des heures de production
- Surveillance de services toutes les cinq minutes avec redémarrage automatique
Objectif
Ligne crontab
Commande
Remarques
Sauvegarde BDD
0 2 * * *
/usr/local/bin/backup.sh
Exécuter hors pics
Nettoyage logs
0 4 * * 0
find /var/log -name « *.log » -delete
Vérifier rétention
Mise à jour
30 3 * * 1
apt update && apt upgrade -y
Tester avant production
Surveillance service
*/5 * * * *
systemctl is-active apache2 || systemctl restart apache2
Utiliser avec flock
Rapport quotidien
0 7 * * *
/usr/local/bin/report.sh
MAILTO configuré
« J’utilise CronExpress pour répartir les vérifications de service et réduire la charge en pointe. »
Marc L.
En ajoutant ces modèles, Cas avancés et astuces pour éviter conflits et surcharges
Pour éviter conflits, répartir les tâches et utiliser des verrous reste essentiel. L’usage de flock empêche les exécutions concurrentes indésirables sur les mêmes ressources.
- Répartir horaires pour éviter pics CPU et opérations simultanées
- Utiliser /usr/bin/flock pour verrouiller l’exécution des scripts
- Rediriger stdout et stderr vers des logs dédiés
- Tester localement chaque commande avant ajout en crontab
« PlanificateurPlus m’a aidé à standardiser les modèles crontab pour toute l’équipe d’opération. »
Claire P.
Du cas pratique aux bonnes pratiques, GestionCron, verrous et surveillance pour fiabiliser l’automatisation
En partant des usages, Sécurité, logs et robustesse des tâches planifiées
La robustesse dépend de chemins absolus, permissions et gestion des erreurs dans les scripts. Spécifier /usr/bin ou /usr/local/bin évite des erreurs liées à l’environnement minimal de cron.
- Rediriger sorties vers /var/log pour centraliser les diagnostics
- Configurer MAILTO pour alertes sur erreurs critiques
- Limiter permissions d’exécution et éviter fonctionnalités interactives
- Documenter chaque entrée crontab pour traçabilité
« OrdoCron m’a permis de formaliser les horaires et d’éviter des conflits sur nos VMs. »
Jérôme N.
En enrichissant la surveillance, Notifications, audit et alternatives modernes
La notification des sorties facilite le diagnostic des tâches qui échouent silencieusement. Selon man7.org, la redirection des sorties et la configuration de MAILTO restent des pratiques recommandées.
- Activer MAILTO pour les tâches critiques et enregistrer les logs
- Utiliser des outils de monitoring pour corréler exécutions et incidents
- Préférer systemd timers si intégration avec services requise
- Archiver les crontabs et sauvegarder régulièrement les définitions
« RépèteFacile a simplifié la gestion des tâches récurrentes pour nos développeurs et ops. »
Élodie M.
Source : Debian, « Cron », Debian Wiki, 2024 ; man7.org, « cron », man7.org, 2024 ; IT-Connect, « Crontab et Cron : guide d’utilisation sous Linux », IT-Connect, 2023.
