Les tâches Cron sont des tâches planifiées qui s’exécutent automatiquement à des intervalles spécifiés dans les systèmes de type Unix. Ils sont souvent utilisés pour la maintenance du système, les sauvegardes, l’automatisation des scripts et d’autres tâches répétitives. Que vous gériez votre propre serveur ou que vous dépanniez un problème, il est essentiel de savoir comment lister et afficher les travaux cron. Ce guide vous montrera comment afficher les tâches cron existantes à l’aide de la commande crontab.

Qu’est-ce que la commande crontab ?

crontab stands for cron table. It is a file that contains a list of cron jobs for a particular user. Each line in this file represents a task and its scheduled time.

Comment afficher les tâches cron de l’utilisateur actuel ?

Pour afficher les tâches cron de l’utilisateur actuellement connecté, ouvrez simplement un terminal et exécutez la commande suivante

crontab -l

Cette commande affichera le contenu du fichier crontab de l’utilisateur actuel. Si aucune tâche n’est planifiée, vous verrez un message du type :

no crontab for [username]

Afficher les tâches Cron d’un autre utilisateur (en tant que root)

Si vous avez les privilèges de root et que vous souhaitez consulter les tâches cron d’un autre utilisateur, utilisez le drapeau -u suivi du nom d’utilisateur :

sudo crontab -u nomutilisateur -l

Exemple :

sudo crontab -u www-data -l

Cette fonction est utile pour gérer les tâches au niveau du système ou dépanner les tâches cron pour des services spécifiques.

Affichage des tâches Cron à l’échelle du système

Outre les crontabs propres à chaque utilisateur, le système stocke également les tâches planifiées à différents endroits :

1. Fichier Crontab du système

cat /etc/crontab

Ce fichier contient les tâches planifiées par le système et comprend souvent des entrées pour différents utilisateurs.

2. Répertoires des tâches Cron

Vous pouvez également trouver des scripts dans ces répertoires :

  • /etc/cron.hourly/

  • /etc/cron.daily/

  • /etc/cron.weekly/

  • /etc/cron.monthly/

Chaque script placé dans ces répertoires est exécuté à l’intervalle correspondant.

3. Répertoire Cron.d

ls /etc/cron.d/

Ce répertoire contient des définitions de cron supplémentaires pour les services et les applications.

Comprendre le format de la crontab

Chaque ligne d’un fichier crontab suit la syntaxe suivante :

* * * * * commande_à_exécuter
│ │ │ │ │
│ │ │ └─── Jour de la semaine (0 - 7) [Dimanche=0 ou 7]
│ │ │ └──── Mois (1 - 12)
│ │ └────── Jour du mois (1 - 31)
│ └──────── Heure (0 - 23)
└────────── Minute (0 - 59)

Exemple :

0 2 * * * /usr/bin/backup.sh

Cela signifie “exécuter /usr/bin/backup.sh tous les jours à 2:00 AM”.

Astuce de pro : Nettoyer la sortie avec grep

Si vous recherchez des tâches spécifiques, vous pouvez filtrer la sortie :

crontab -l | grep backup

Résumé

Voici un résumé rapide de la façon de lister les tâches cron :

TâcheCommande
Lister les tâches cron de l’utilisateur actuelcrontab -l
Lister les tâches cron d’un autre utilisateursudo crontab -u nom d’utilisateur -l
Afficher la crontab du systèmecat /etc/crontab
Lister les tâches cron dans les répertoires du systèmels /etc/cron.*
Afficher des tâches cron spécifiques`crontab -l

En maîtrisant ces commandes simples, vous pouvez facilement inspecter et gérer les tâches cron sur n’importe quel système Unix ou Linux. L’examen régulier des tâches programmées permet de s’assurer que le système fonctionne efficacement et d’éviter les mauvaises surprises.