GNU/Linux >> Tutoriels Linux >  >> Linux

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

Selon la configuration de votre système Linux, vous pouvez consulter :

  • /var/spool/cron/* (utilisateur crontabs)
  • /etc/crontab (crontab à l'échelle du système)

De plus, de nombreuses distributions ont :

  • /etc/cron.d/* Ces configurations ont la même syntaxe que /etc/crontab

  • /etc/cron.hourly , /etc/cron.daily , /etc/cron.weekly , /etc/cron.monthly

Ce sont simplement des répertoires contenant des exécutables exécutés toutes les heures, tous les jours, toutes les semaines ou tous les mois, selon leur nom de répertoire.

En plus de cela, vous pouvez avoir at jobs (cochez /var/spool/at/* ), anacron (/etc/anacrontab et /var/spool/anacron/* ) et probablement d'autres que j'oublie.


Avec la plupart des Crons (par exemple Vixie-Cron - Debian/Ubuntu par défaut, Cronie - Fedora par défaut, Solaris Cron ...) vous obtenez la liste des tâches cron planifiées pour l'utilisateur actuel via :

$ crontab -l

ou pour un autre utilisateur via

# crontab -l -u juser

Pour obtenir les crontabs pour tous les utilisateurs, vous pouvez boucler sur tous les utilisateurs et appeler cette commande.

Vous pouvez également rechercher les fichiers spoule. Généralement, ils sont enregistrés sous /var/spool/cron , par exemple. pour le répertoire suivant de vcron

/var/spool/cron/crontabs

contient toutes les crontabs configurées de tous les utilisateurs - à l'exception de l'utilisateur root qui peut également configurer des tâches via la crontab à l'échelle du système, qui se trouve à

/etc/crontab

Avec cronie (par défaut sur Fedora/CentOS), il y a un .d répertoire de configuration de style pour les tâches cron du système, ainsi :

/etc/cron.d

(Comme toujours, le .d répertoire simplifie la gestion des entrées de configuration qui font partie de différents packages.)

Pour plus de commodité, la plupart des distributions fournissent également un répertoire dans lequel les scripts liés/stockés sont périodiquement exécutés, par exemple :

/etc/cron.daily
/etc/cron.hourly
/etc/cron.monthly
/etc/cron.weekly

L'exécution opportune de ces scripts est généralement gérée via run-parts entrées dans la crontab système ou via anacron.

Avec Systemd (par exemple sur Fedora, CentOS 7, ...) l'exécution périodique des tâches peut en outre être configurée via des unités de temporisation. Les minuteries système activées peuvent être affichées via :

$ systemctl list-timers

Notez que les utilisateurs à côté de root peuvent également avoir des instances d'utilisateur systemd en cours d'exécution là où les minuteries sont configurées. Par exemple, sur Fedora, par défaut, une instance d'utilisateur systemd est démarrée pour chaque utilisateur actuellement connecté. Ils peuvent être reconnus via :

$ ps aux | grep 'systemd[ ]--user'

Ces minuteries utilisateur peuvent être listées via :

$ systemctl --user list-timers

Une alternative à l'émission du list-timers commande est de rechercher des fichiers d'unité de minuterie (motif :*.timer ) et des liens symboliques vers ceux-ci dans les répertoires de configuration habituels du système et de l'utilisateur systemd :

$ find /usr/lib/systemd/ /etc/systemd -name '*.timer'
$ find /home '(' -path '/home/*/.local/share/systemd/user/*' \
              -o -path '/home/*/.config/systemd/*' ')' \
      -name '*.timer'  2> /dev/null

(Comme pour les unités de service normales, une unité de minuterie est activée via la création d'un lien symbolique dans le bon répertoire de configuration systemd.)

Voir aussi :

  • Article ArchWiki sur Cron
  • Article ArchWiki sur les temporisateurs Systemd

Pour lister tous les crons pour l'utilisateur donné.

crontab -u nom d'utilisateur -l ;

Pour lister tous les crons pour tous les utilisateurs

Exécutez-le en tant que super utilisateur

#!/bin/bash
#List all cron jobs for all users
for user in `cat /etc/passwd | cut -d":" -f1`;
do 
crontab -l -u $user;
done

Linux
  1. Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

  2. Comment /etc/motd est-il mis à jour ?

  3. Comment planifier des tâches Cron avec Crontab

  4. Comment pouvons-nous obtenir la liste des utilisateurs non-système sous Linux ?

  5. Comment puis-je supprimer tous les travaux arrêtés ?

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

Comment répertorier les tâches Cron sous Linux

Comment exécuter des tâches Cron toutes les 5, 10 ou 15 minutes

Différentes façons de planifier et de répertorier les tâches CRON sous Linux

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

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