1. Qu’est‑ce que Cron ?
Cron est un planificateur de tâches basé sur le temps utilisé sous Linux et les systèmes d’exploitation de type Unix. Il est principalement employé par les administrateurs système et les développeurs pour automatiser des tâches qui doivent être exécutées régulièrement. Sous Ubuntu, Cron est installé par défaut et est largement utilisé pour la gestion de serveurs, les sauvegardes, les scripts planifiés, etc.
Comment fonctionne Cron
Cron fonctionne en définissant des commandes dans un fichier de configuration appelé le « crontab ». Le crontab contient cinq champs qui précisent quand une tâche doit être exécutée, permettant aux utilisateurs de programmer des tâches avec une précision temporelle.
- Minute (0–59)
- Heure (0–23)
- Jour du mois (1–31)
- Mois (1–12)
- Jour de la semaine (0–7, où 0 et 7 représentent le dimanche)
Par exemple, une tâche cron qui exécute une sauvegarde à 5 h chaque jour aurait l’apparence suivante :
0 5 * * * tar -zcf /var/backups/home.tgz /home/
Cela montre comment Cron permet d’automatiser efficacement les tâches récurrentes.
Qui devrait utiliser Cron ?
Cron est indispensable non seulement pour les administrateurs système, mais aussi pour les développeurs et toute personne qui a besoin d’automatiser des tâches récurrentes ou d’exécuter régulièrement des scripts sur un serveur.

2. Configurer des tâches Cron
Modifier le crontab
Pour configurer une tâche Cron, vous devez modifier le fichier crontab propre à votre utilisateur. Sous Ubuntu, vous pouvez ouvrir ce fichier avec la commande crontab -e :
crontab -e
Syntaxe de base des tâches Cron
Une tâche Cron se compose de champs de timing suivis de la commande à exécuter. La syntaxe générale est :
Minute Hour Day Month DayOfWeek Command
La tâche Cron suivante crée une sauvegarde du répertoire /home/ chaque jour à 5 h :
0 5 * * * tar -zcf /var/backups/home.tgz /home/
Enregistrer et vérifier les entrées du crontab
Après avoir ajouté des tâches Cron, enregistrez et fermez l’éditeur pour appliquer les modifications. Pour vérifier que vos tâches Cron sont correctement enregistrées, utilisez la commande suivante :
crontab -l
3. Planification avancée des tâches Cron
Exécuter des tâches à des intervalles personnalisés
Si vous devez exécuter des commandes chaque minute ou toutes les cinq minutes, vous pouvez les programmer ainsi :
- Exécuter chaque minute :
* * * * * /path/to/script.sh
- Exécuter toutes les 5 minutes :
*/5 * * * * /path/to/script.sh
Exécuter des tâches à des jours ou plages horaires spécifiques
Pour exécuter un script uniquement un jour donné, spécifiez le champ jour de la semaine. Par exemple, pour exécuter un script chaque lundi à 2 h 15 :
15 2 * * 1 /path/to/script.sh
4. Gestion des erreurs et dépannage
Problèmes courants des tâches Cron et solutions
La tâche Cron ne s’exécute pas
Si une tâche Cron ne s’exécute pas, vérifiez les points suivants :
- Permissions : Assurez‑vous que le script ou la commande possède les droits d’exécution.
- Utiliser des chemins complets : Cron utilise un
$PATHlimité, il faut donc que les commandes incluent des chemins absolus./usr/bin/python3 /path/to/script.py
Vérifier les journaux
Les journaux de Cron sont stockés dans /var/log/syslog. Examiner ce fichier révèle pourquoi une tâche a échoué ou si elle s’est exécutée correctement :
grep CRON /var/log/syslog
5. Considérations de sécurité
Contrôler l’accès des utilisateurs
Pour restreindre quels utilisateurs peuvent créer des tâches Cron, utilisez /etc/cron.allow et /etc/cron.deny. Ajouter un nom d’utilisateur à /etc/cron.allow permet uniquement à cet utilisateur de configurer des tâches Cron :
echo "user_name" >> /etc/cron.allow
Sécurité de connexion et tâches Cron
Lorsque Cron exécute des tâches nécessitant une authentification, il peut être nécessaire d’automatiser les clés SSH ou de gérer les mots de passe de façon sécurisée.
6. Utiliser Anacron pour des tâches moins fréquentes
Qu’est‑ce qu’Anacron ?
Anacron est un planificateur de tâches conçu pour les systèmes qui ne fonctionnent pas en continu. Il exécute les tâches manquées au prochain démarrage du système, ce qui le rend idéal pour les ordinateurs de bureau et les ordinateurs portables qui ne sont pas toujours en ligne.
7. Exemples pratiques de tâches Cron
Automatiser les sauvegardes
Exemple de tâche Cron qui crée des sauvegardes quotidiennes avec horodatage :
0 2 * * * tar -zcf /var/backups/home_backup_$(date +\%Y-\%m-\%d).tgz /home/
8. Conclusion
En tirant parti de Cron et d’Anacron, vous pouvez automatiser efficacement les tâches routinières et améliorer la fiabilité des opérations de votre système. Les deux outils réduisent la charge administrative et garantissent que les tâches de maintenance critiques s’exécutent automatiquement. Essayez de les intégrer à votre système pour profiter des avantages opérationnels dès le premier jour.
