Dans le vaste royaume des systèmes Linux, où chaque commande peut se transformer en un acte héroïque, crontab est l’un des outils qui semble invisible mais dont l’impact est colossal. À l’image d’un valet fidèle, il se tient dans l’ombre, respectant scrupuleusement vos ordres, à l’heure et au jour que vous décrétez. Que vous soyez un simple curieux ou un maître confirmé de la console, le moment est venu de découvrir les arcanes de cet allié discret mais indispensable.
Définition:
Cron est un programme de planification automatique présent sur presque toutes les distributions Linux. Il permet d’exécuter des commandes ou des scripts à des moments prédéfinis ou répétitifs : à une date, une heure, ou une fréquence que vous choisissez.
Quelques exemples d’utilisation :
- Faire une sauvegarde de vos fichiers chaque jour à 23h.
- Envoyer automatiquement un e-mail de rappel chaque lundi matin.
- Nettoyer des fichiers temporaires toutes les heures.
- Lancer un script pour surveiller un serveur ou un site web.
Avec Cron, tout cela devient automatique et sans effort.
fonctionnement de Cron:
ron fonctionne grâce à un fichier appelé crontab (à ne pas confondre avec le programme du même nom), qui contient la liste des tâches planifiées. Chaque ligne dans ce fichier représente une tâche à exécuter et suit une syntaxe très précise.
La syntaxe de Crontab
Une ligne dans une crontab suit ce format :
* * * * * commande à exécuter
- - - - -
| | | | |
| | | | +---- Jour de la semaine (0 - dimanche, 6 - samedi)
| | | +------ Mois (1 - 12)
| | +-------- Jour du mois (1 - 31)
| +---------- Heure (0 - 23)
+------------ Minute (0 - 59)
Chaque étoile (☆) peut être remplacée par une valeur précise ou un intervalle. Voici quelques exemples :
0 5 * * *
: exécuter une commande tous les jours à 5h du matin.*/15 * * * *
: exécuter une commande toutes les 15 minutes.0 0 1 * *
: exécuter une commande à minuit le premier jour de chaque mois.0 8 * * 1-5
: exécuter une commande à 8h chaque jour de la semaine (du lundi au vendredi).
Exemples de planification :
- Exécuter une commande tous les jours à 2h30 du matin :
30 2 * * * /chemin/vers/commande
- Exécuter une tâche tous les lundis à midi :
0 12 * * 1 /chemin/vers/commande
- Exécuter une commande toutes les 5 minutes :
*/5 * * * * /chemin/vers/commande
Gestion des fichiers crontab
Créer ou éditer une crontab
Utilisez la commande suivante pour éditer votre fichier crontab :
crontab -e
Lister les tâches cron
Pour afficher les tâches programmées de votre utilisateur :
crontab -l
Supprimer une crontab
Pour supprimer le fichier crontab de l’utilisateur actuel :
crontab -r
Gestion des logs Cron
Les exécutions de cron sont enregistrées dans les fichiers de logs, en général dans :
/var/log/syslog (ou /var/log/cron sur certaines distributions)
Pour visualiser les logs liés à cron, utilisez :
grep CRON /var/log/syslog
Préférer les chemins absolus pour éviter les erreurs de contexte.
Tâches Système Automatisées
Les tâches régulières gérées par le système se trouvent souvent dans :
/etc/cron.daily//etc/cron.weekly//etc/cron.monthly/
Bonnes pratiques
- Tester les commandes avant de les ajouter à la crontab.
- Documenter chaque ligne avec des commentaires :
# Sauvegarde de la base de données chaque nuit
0 2 * * * /usr/local/bin/backup_database.sh
- Vérifier les permissions des scripts exécutés par cron.
- Surveiller les logs pour s’assurer que les tâches s’exécutent correctement.
- Rediriger les sorties standard et erreurs dans un fichier de log :
0 3 * * * /chemin/vers/commande >> /var/log/cron_task.log 2>&1
- Configurer une rotation des logs pour éviter leur croissance excessive (via logrotate).
Conclusion:
Ainsi s’achève cette exploration des rouages de Cron, ce fidèle automate des temps modernes qui, silencieux et infatigable, orchestre nos tâches quotidiennes avec la régularité d’une horloge suisse. Tel un serviteur dévoué, il veille, nuit et jour, à exécuter les volontés que nous lui confions. Mais prenez garde : mal employé, il peut se révéler aussi capricieux qu’un héros de roman. Sachez donc manier Cron avec la prudence du stratège et l’œil du poète, car, comme le disait Alexandre Dumas : « Celui qui sait attendre le temps, le temps lui ouvre ses portes. » Que Cron soit votre allié dans cette grande aventure qu’est la maîtrise de Linux.
Ping : Logrotate : Le gardien des logs informatiques – Mousquetux