1. Qu’est-ce que Cron?
Cron est un planificateur de tâches basé sur le temps pour les systèmes d’exploitation Linux et Unix. Il est principalement utilisé par les administrateurs système et les développeurs pour automatiser les tâches qui doivent être exécutées régulièrement. Cron est préinstallé sur Ubuntu et est largement utilisé pour la gestion de serveurs, les sauvegardes, l’exécution planifiée de scripts et diverses autres tâches d’automatisation.
Comment fonctionne Cron
Cron fonctionne à l’aide d’un fichier appelé « crontab », où les commandes sont spécifiées pour s’exécuter à des moments ou intervalles désignés. Le fichier crontab comprend cinq champs, chacun permettant une planification précise des tâches en fonction des valeurs spécifiées.
- 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, si vous souhaitez planifier une tâche de sauvegarde à exécuter chaque jour à 5 h, vous ajouteriez la ligne suivante à votre fichier crontab :
0 5 * * * tar -zcf /var/backups/home.tgz /home/
Cela montre comment Cron peut être utilisé pour automatiser efficacement les tâches récurrentes.
Qui devrait utiliser Cron?
Cron est indispensable pour les administrateurs système, les développeurs cherchant à rationaliser les tâches quotidiennes, et toute personne qui doit exécuter des scripts planifiés dans un environnement serveur.

2. Configuration des tâches Cron
Modification du fichier Crontab
Pour configurer une tâche Cron, vous devez accéder au fichier « crontab » et le modifier. Sous Ubuntu, vous pouvez ouvrir le fichier crontab propre à votre utilisateur en utilisant la commande suivante :
crontab -e
Syntaxe de base d’une tâche Cron
Une entrée de tâche Cron se compose de champs de temps suivis de la commande à exécuter. Le format général est :
Minute Hour Day Month Weekday Command
Par exemple, la tâche Cron suivante crée une sauvegarde du /home/
répertoire chaque jour à 5 h du matin :
0 5 * * * tar -zcf /var/backups/home.tgz /home/
Enregistrement et vérification des modifications du Crontab
Une fois que vous avez ajouté une tâche au fichier crontab, enregistrez et fermez l’éditeur pour appliquer les modifications. Pour vérifier vos tâches Cron actuelles, utilisez la commande suivante :
crontab -l
3. Planification avancée des tâches Cron
Exécution de tâches à intervalles personnalisés
Pour exécuter une tâche à des intervalles spécifiques, comme chaque minute ou toutes les cinq minutes, utilisez la syntaxe suivante :
- Chaque minute:
* * * * * /path/to/script.sh
- Toutes les cinq minutes:
*/5 * * * * /path/to/script.sh
Exécution de tâches à des jours et heures spécifiques
Si vous devez exécuter une tâche à des jours précis, utilisez le champ jour de la semaine. Par exemple, pour lancer un script chaque lundi à 2 h 15, utilisez :
15 2 * * 1 /path/to/script.sh
4. Gestion des erreurs et dépannage
Problèmes courants avec les tâches Cron
Tâche Cron ne s’exécute pas
Si votre tâche Cron ne s’exécute pas, vérifiez les points clés suivants :
- Vérifiez les autorisations : Assurez-vous que le script ou la commande possède les autorisations d’exécution.
- Utilisez des chemins complets : Cron s’exécute dans un environnement limité, donc spécifiez le chemin complet vers vos commandes et fichiers.
/usr/bin/python3 /path/to/script.py
Vérification des journaux Cron
Cron consigne les détails de son exécution dans /var/log/syslog
. Pour vérifier les journaux à la recherche d’erreurs liées à Cron, utilisez :
grep CRON /var/log/syslog

5. Considérations de sécurité
Contrôle de l’accès des utilisateurs
Pour restreindre les utilisateurs pouvant planifier des tâches Cron, vous pouvez utiliser les fichiers /etc/cron.allow
et /etc/cron.deny
. En répertoriant les utilisateurs dans /etc/cron.allow
, seuls ces utilisateurs seront autorisés à créer des tâches Cron.
echo "user_name" >> /etc/cron.allow
Sécurité de connexion et tâches Cron
Lors de l’exécution de tâches Cron nécessitant une authentification, il est important d’éviter les erreurs liées aux mots de passe. L’utilisation de l’automatisation des clés SSH ou d’un gestionnaire de mots de passe sécurisé peut aider à prévenir les échecs d’authentification.
6. Utiliser Anacron : automatiser les tâches peu 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. Contrairement à Cron, qui nécessite que le système soit en ligne à l’heure prévue, An veille à ce que les tâches manquées s’exécutent dès que le système est rallumé. Cela le rend idéal pour les ordinateurs de bureau et les ordinateurs portables.
7. Cas d’utilisation pratiques des tâches Cron
Automatisation des sauvegardes
Configurer une tâche Cron pour automatiser les sauvegardes selon un planning régulier peut aider à prévenir la perte de données. Voici un exemple de tâche Cron qui crée une sauvegarde du répertoire /home/
chaque jour à 2 h du matin et inclut la date actuelle dans le nom du fichier.
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 récurrentes et améliorer la fiabilité des opérations de votre système. Lorsqu’ils sont utilisés correctement, ces outils réduisent les coûts opérationnels et garantissent que les tâches de maintenance essentielles s’exécutent sans intervention manuelle. Mettez-les en œuvre dans votre système pour profiter des avantages de l’automatisation.