Comment afficher et lister les travaux Cron à l'aide de Crontab ⋆ ALexHost SRL

Testez vos compétences sur tous nos services d'hébergement et bénéficiez de 15% de réduction!.

Utilisez le code à la caisse :

Skills
27.12.2024

Comment afficher et lister les travaux Cron à l’aide de Crontab

L’utilitaire cron des systèmes d’exploitation de type Unix permet aux utilisateurs de programmer des tâches (commandes ou scripts) à exécuter automatiquement à des moments ou intervalles spécifiques. Que vous assuriez la maintenance d’un serveur ou que vous gériez des tâches automatisées sur votre machine locale, cron est un outil essentiel pour les administrateurs système et les développeurs.

Dans cet article, nous vous expliquons comment afficher et répertorier les tâches cron à l’aide de la commande crontab, afin de vous aider à gérer efficacement les tâches planifiées.

Qu’est-ce que la commande crontab ?

Crontab (abréviation de “table cron”) est un fichier qui définit les tâches planifiées dans le système cron. Chaque utilisateur d’un système, y compris l’utilisateur root, peut avoir sa propre crontab, qui spécifie les tâches qu’il souhaite automatiser.

Le fichier crontab se compose de tâches cron dans 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)

Cette structure permet de contrôler avec précision le moment où les tâches sont exécutées, ce qui fait de cron un puissant outil d’automatisation.

Comment lister les travaux Cron à l’aide de Crontab

Pour gérer les tâches cron, la commande crontab est l’utilitaire qu’il vous faut. Voici comment afficher les tâches cron pour un utilisateur spécifique ou pour le système.

1. Affichage de vos propres tâches cron

Pour afficher les tâches cron de votre utilisateur actuel, exécutez la commande suivante dans le terminal :

crontab -l

Cette commande affichera la liste de toutes les tâches planifiées pour l’utilisateur actuellement connecté au système. S’il n’y a pas de tâches cron, la commande renvoie une liste vide ou un message indiquant qu’il n’y a pas de crontab pour l’utilisateur.

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
    (backup.sh
    ) s’exécute tous les jours à minuit.
  • Un script de nettoyage
    (
    cleanup
    .sh
    ) s’exécute tous les dimanches à 2h30.

2. Liste des tâches Cron pour un autre utilisateur

Si vous avez les privilèges root ou sudo, vous pouvez afficher les travaux cron de n’importe quel utilisateur en utilisant le drapeau

-u
suivi du nom d’utilisateur :

sudo crontab -l -u nom d'utilisateur

Remplacez nom d’utilisateur par le nom d’utilisateur réel de l’utilisateur dont vous voulez voir les tâches cron.

Par exemple, pour lister les tâches cron d’un utilisateur nommé john, exécutez :

sudo crontab -l -u john

Cela affichera toutes les tâches cron programmées pour cet utilisateur.

3. Liste des tâches Cron du système

En plus des tâches cron spécifiques aux utilisateurs, il existe des tâches cron à l’échelle du système qui sont planifiées par le système ou l’utilisateur root. Ils sont stockés dans des répertoires tels que /etc/crontab, /etc/cron.d/ et le répertoire /var/spool/cron/crontabs.

Pour répertorier les tâches cron du système, vous pouvez ouvrir et afficher le fichier /etc/crontab :

cat /etc/crontab

La sortie peut ressembler à ceci :

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 )

Dans cet exemple :

  • les tâches /etc/cron
    .hourly
    s’exécutent à la 17ème minute de chaque heure.
  • les tâches
    /etc/cron.daily
    sont exécutées tous les jours à 6:25 AM.
  • les tâches
    /etc/cron.weekly
    sont exécutées tous les dimanches à 6:47 AM.
  • les tâches
    /etc/cron.monthly
    sont exécutées le premier jour de chaque mois à 6:52 AM.

Vous pouvez également afficher les tâches dans le fichier /etc/cron.d/ en exécutant la commande suivante : /etc/cron.d/ :

ls /etc/cron.d/

Chaque fichier de ce répertoire peut contenir des tâches cron supplémentaires pour les services du système.

4. Liste des travaux Cron dans le répertoire /var/spool/cron/ (en anglais)

Les tâches cron spécifiques à l’utilisateur sont généralement stockées dans le répertoire /var/spool/cron/crontabs. Vous pouvez naviguer jusqu’à ce répertoire et lister tous les fichiers de tâches cron :

ls /var/spool/cron/crontabs

Cette commande affichera les fichiers crontab de chaque utilisateur. Pour voir le contenu de la crontab d’un utilisateur spécifique, vous pouvez exécuter :

cat /var/spool/cron/crontabs/username

Ceci fournit la même sortie que l’exécution de crontab -l -u nom d’utilisateur.

Édition des tâches Cron

Si vous avez besoin de modifier ou d’ajouter de nouvelles tâches cron, vous pouvez éditer votre crontab en exécutant :

crontab -e

Cette commande ouvre votre crontab dans l’éditeur de texte par défaut, ce qui vous permet d’ajouter ou de modifier des tâches existantes.

Par exemple, pour ajouter un nouveau travail qui exécute un script tous les jours à 3 heures du matin, vous devez ajouter cette ligne :

0 3 * * * * /home/user/script.sh

Après avoir enregistré et quitté le fichier, le travail sera planifié immédiatement.

Commandes courantes de la liste Crontab

Voici une référence rapide pour lister les tâches cron dans différents scénarios :

  • Lister les travaux cron de l’utilisateur actuel:
    crontab -l
  • Lister les tâches cron d’un autre utilisateur (nécessite sudo):
    sudo crontab -l -u nomutilisateur
  • Lister les tâches cron du système:
    cat /etc/crontab
  • Liste toutes les tâches cron dans
    /etc/cron.d/
    :
    ls /etc/cron.d/
  • Afficher les tâches cron stockées dans
    /var/spool/cron/crontabs/
    :
    ls /var/spool/cron/crontabs

Conclusion

Lister et afficher les tâches cron à l’aide de crontab est un moyen simple mais puissant de gérer vos tâches planifiées dans un système de type Unix. Que vous gériez vos propres tâches cron spécifiques à l’utilisateur ou des tâches automatisées à l’échelle du système, la compréhension de ces commandes vous permettra de vous assurer que vos tâches se déroulent correctement et à temps.

En maîtrisant cron, vous pouvez automatiser les tâches répétitives, effectuer des sauvegardes et vous assurer que vos scripts s’exécutent de manière cohérente dans votre environnement.

Testez vos compétences sur tous nos services d'hébergement et bénéficiez de 15% de réduction!.

Utilisez le code à la caisse :

Skills