Je recherche des scripts ou une commande de terminal pour lister tous les scripts actifs (de préférence avec leurs chemins), qui s'exécutent périodiquement par cron, cron.daily et/ou anacron. Je ne recherche pas de filtre pour une période spécifique du script et j'ai besoin de tous les scripts répertoriés (cependant certains administrateurs peuvent vouloir ce type de filtre).
Objectif: Documenter tous les scripts exécutés périodiquement, afin que le débogage ou la vérification des pannes, la mise à jour et le transfert vers un système plus récent soient faciles et efficaces.
Merci
Je ne sais pas si c'est ce que tu veux. J'ai trouvé cette réponse il y a quelque temps sur certains stackexchange et je l'utilise sur un serveur.
for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done
Cela répertoriera tous les crontabs pour tous les utilisateurs.
Comme pour tout ce que vous trouvez sur Internet, vous ne devez pas l'exécuter sans comprendre, mais ce qui suit obtiendra les noms de fichiers et les chemins d'affichage des scripts exécutés dans le cron.hourly
/cron.daily
/cron.monthly
dossiers ... (CentOS dans mon cas)
cd /etc/cron.hourly/&&for i in $(ls);do find `pwd` -name $i;done&&cd /etc/cron.daily/&&for i in $(ls);do find `pwd` -name $i;done&&cd /etc/cron.weekly/&&for i in $(ls);do find `pwd` -name $i;done&&cd /etc/cron.monthly/&&for i in $(ls);do find `pwd` -name $i;done
essentiellement plusieurs versions de ceci:
cd /etc/cron.hourly/&&for i in $(ls);do find 'pwd' -name $i;done
Passez au répertoire puis pour chaque nom de fichier dans ls
recherchez et affichez le chemin
EDIT: pour les codeurs qui aiment la structure ... même chose qu'une fonction:
function AllTheCrons {
cd /etc/cron.hourly/
for i in $(ls);
do
find `pwd` -name $i;
done;
cd /etc/cron.daily/
for i in $(ls);
do
find `pwd` -name $i;
done;
cd /etc/cron.weekly/
for i in $(ls);
do
find `pwd` -name $i;
done;
cd /etc/cron.monthly/
for i in $(ls);
do
find `pwd` -name $i;
done;
}
puis lancez:
AllTheCrons