Comment afficher et lister les tâches Cron en utilisant Crontab
Le cron utilitaire sur les systèmes d’exploitation de type Unix permet aux utilisateurs de planifier des tâches (commandes ou scripts) pour qu’elles s’exécutent automatiquement à des moments ou des intervalles spécifiques. Que vous mainteniez un serveur ou gériez des tâches automatisées sur une machine locale, cron est un outil essentiel pour les administrateurs système et les développeurs.
Cet article explique comment visualiser et lister les tâches cron en utilisant la commande
crontabQu’est-ce que la commande Crontab ?
Crontab (abréviation de “cron table”) est un fichier qui définit les tâches planifiées pour le démon cron. Chaque utilisateur sur un système, y compris l’utilisateur
rootUne entrée crontab suit cette syntaxe :
* * * * * command_to_be_executed
| | | | |
| | | | +----- day of the week (0–7) (Sunday = 0 or 7)
| | | +---------- month (1–12)
| | +--------------- day of the month (1–31)
| +-------------------- hour (0–23)
+------------------------- minute (0–59)
Cette structure permet un contrôle précis sur le moment où les tâches sont exécutées, faisant de cron un outil d’automatisation puissant.
Comment lister les tâches cron en utilisant Crontab
La commande
crontab1. Voir vos propres tâches cron
Pour afficher les tâches cron de l’utilisateur actuellement connecté, exécutez :
crontab -lCette commande liste toutes les tâches cron planifiées pour l’utilisateur actuel. Si aucune tâche cron n’existe, elle peut renvoyer une sortie vide ou un message indiquant qu’aucun crontab n’est défini.
Exemple de sortie :
# m h dom mon dow command
0 0 * * * /home/user/backup.sh
30 2 * * 7 /home/user/scripts/cleanup.sh
Dans cet exemple :
- Un script de sauvegarde s’exécute tous les jours à minuit.
- Un script de nettoyage s’exécute tous les dimanches à 2h30.
2. Lister les tâches cron pour un autre utilisateur
Si vous avez
sudo-usudo crontab -l -u usernameRemplacez
usernamesudo crontab -l -u johnCela affiche toutes les tâches cron planifiées pour l’utilisateur spécifié.
3. Lister les tâches cron à l’échelle du système
En plus des tâches cron spécifiques aux utilisateurs, il existe des tâches cron à l’échelle du système planifiées par le système ou l’utilisateur root. Celles-ci sont généralement stockées dans :
/etc/crontab/etc/cron.d//var/spool/cron/crontabs/
Pour voir le fichier crontab principal du système, exécutez :
cat /etc/crontabExemple de sortie :
SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
Cette configuration planifie des tâches de maintenance système horaires, quotidiennes, hebdomadaires et mensuelles.
Pour lister d’autres fichiers cron système, exécutez :
ls /etc/cron.d/Chaque fichier dans ce répertoire peut définir des tâches planifiées supplémentaires pour les services système.
4. Voir les tâches cron dans /var/spool/cron
Les fichiers crontab spécifiques aux utilisateurs sont généralement stockés dans
/var/spool/cron/crontabsls /var/spool/cron/crontabsPour voir le contenu du fichier crontab d’un utilisateur spécifique :
cat /var/spool/cron/crontabs/usernameCela fournit la même sortie que
crontab -l -u usernameÉdition des tâches cron
Pour éditer ou ajouter des tâches cron pour l’utilisateur actuel, exécutez :
crontab -eCela ouvre le fichier crontab dans l’éditeur de texte par défaut. Après avoir enregistré et quitté, les modifications prennent effet immédiatement.
Exemple : exécuter un script tous les jours à 3h00 :
0 3 * * * /home/user/script.shCommandes courantes de listing de Crontab
- Lister les tâches cron de l’utilisateur actuel :
crontab -l - Lister les tâches cron d’un autre utilisateur (sudo requis) :
sudo crontab -l -u username - Voir le crontab système :
cat /etc/crontab - Lister les fichiers cron dans /etc/cron.d/ :
ls /etc/cron.d/ - Lister les crontabs des utilisateurs :
ls /var/spool/cron/crontabs
Conclusion
Visualiser et lister les tâches cron en utilisant
crontabEn maîtrisant cron, vous pouvez automatiser des tâches répétitives, gérer des sauvegardes et maintenir une exécution cohérente des scripts dans votre environnement.
