GNU/Linux >> Tutoriels Linux >  >> Linux

Comment répertorier les tâches Cron sous Linux

Cron est un démon de planification qui vous permet de planifier l'exécution de tâches à des intervalles spécifiés. Ces tâches sont appelées tâches cron et peuvent être programmées pour s'exécuter par minute, heure, jour du mois, mois, jour de la semaine ou toute combinaison de ceux-ci.

Les tâches cron sont généralement utilisées pour effectuer des opérations de maintenance du système. Par exemple, une tâche cron peut être configurée pour automatiser les tâches répétitives telles que la sauvegarde des bases de données, la mise à jour du système avec les derniers correctifs de sécurité, la suppression du cache, l'envoi d'e-mails, etc.

Cet article explique comment lister les tâches cron.

Liste des tâches Cron des utilisateurs #

Les fichiers crontab des utilisateurs sont nommés en fonction du nom de l'utilisateur et leur emplacement varie selon les systèmes d'exploitation. Dans les distributions basées sur Red Hat telles que CentOS, les fichiers crontab sont stockés dans le répertoire /var/spool/cron répertoire, tandis que sur Debian et Ubuntu, les fichiers sont stockés dans le répertoire /var/spool/cron/crontabs répertoire.

Pour obtenir une liste de toutes les tâches cron pour l'utilisateur avec lequel vous êtes actuellement connecté, utilisez le crontab commande :

crontab -l

Si l'utilisateur a configuré des tâches cron, le contenu des crontabs de l'utilisateur sera affiché à l'écran. Sinon, la commande affichera no crontab for <username> .

Pour répertorier les tâches cron d'autres utilisateurs, utilisez le -u option pour spécifier le nom d'utilisateur à la fin de la commande. Par exemple, pour répertorier les tâches cron de l'utilisateur nommé "mark", vous utiliserez :

sudo crontab -u mark -l

Chaque fichier crontab utilisateur a 600 autorisations et appartenant à l'utilisateur. Uniquement root et utilisateurs avec sudo les privilèges peuvent voir les tâches cron des autres utilisateurs.

Pour savoir quels utilisateurs ont créé des tâches cron, listez le contenu du spool répertoire en tant qu'utilisateur root ou sudo :

sudo ls -1 /var/spool/cron/crontabs

La sortie ressemblera à ceci :

root
mark

Liste des tâches Cron du système #

/etc/crontab et les fichiers à l'intérieur du /etc/cron.d répertoire sont des fichiers crontab à l'échelle du système qui ne peuvent être modifiés que par les administrateurs système.

Utilisez cat , less ou n'importe quel éditeur de texte pour visualiser le contenu des fichiers :

cat /etc/crontab /etc/cron.d/*

Dans la plupart des distributions Linux, vous pouvez également placer des scripts dans le /etc/cron.{hourly,daily,weekly,monthly} répertoires, et les scripts sont exécutés toutes les hour/day/week/month .

Chaque script à l'intérieur de ces répertoires doit avoir l'autorisation d'exécution. Sinon, la tâche cron ne sera pas exécutée.

Par exemple, pour afficher toutes les tâches cron hebdomadaires, vous saisiriez :

ls -l /etc/cron.weekly/
-rwxr-xr-x 1 root root 813 Feb 10  2019 man-db

Si la sortie est vide, cela signifie qu'il n'y a pas de tâches cron hebdomadaires.

Temporisateurs Systemd #

Les temporisateurs systemd sont des fichiers unitaires qui se terminent par *.timer suffixe et vous permettent d'exécuter des unités de service en fonction du temps.

Sur les distributions Linux utilisant systemd comme système d'initialisation, les temporisateurs sont utilisés comme alternative au démon cron standard.

Pour afficher une liste de tous les minuteurs systemd sur votre ordinateur, exécutez la commande suivante :

systemctl list-timers
NEXT                         LEFT          LAST                         PASSED       UNIT                         ACTIVATES
Sun 2020-02-16 00:00:00 UTC  1h 53min left Sat 2020-02-15 17:04:11 UTC  5h 2min ago  logrotate.timer              logrotate.service
Sun 2020-02-16 00:00:00 UTC  1h 53min left Sat 2020-02-15 17:04:11 UTC  5h 2min ago  man-db.timer                 man-db.service
Sun 2020-02-16 03:50:52 UTC  5h 44min left Sat 2020-02-15 17:04:11 UTC  5h 2min ago  apt-daily.timer              apt-daily.service
Sun 2020-02-16 06:12:38 UTC  8h left       Sat 2020-02-15 17:04:11 UTC  5h 2min ago  apt-daily-upgrade.timer      apt-daily-upgrade.service
Sun 2020-02-16 18:44:56 UTC  20h left      Sat 2020-02-15 17:16:10 UTC  4h 50min ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service

Conclusion #

Nous vous avons montré comment répertorier les tâches cron et les minuteurs systemd.

N'hésitez pas à laisser un commentaire si vous avez des questions.


Linux
  1. Comment j'utilise cron sous Linux

  2. Comment répertorier, afficher et afficher toutes les tâches Cron actuelles sous Linux

  3. Comment configurer une tâche Cron sous Linux

  4. Comment supprimer des tâches cron

  5. Comment obtenir une liste de toutes les tâches cron planifiées sur ma machine ?

Comment automatiser des tâches avec des tâches cron sous Linux

Comment afficher ou répertorier les tâches Cron sous Linux

Comment lister les disques sous Linux

Comment répertorier les services sous Linux

Comment exécuter et répertorier les tâches Cron pour un système Linux via PHP

Comment planifier des tâches avec Cron sous Linux