Ich suche nach einigen Skripten oder einem Terminalbefehl, um alle aktiven Skripte aufzulisten (vorzugsweise mit ihren Pfaden), die regelmäßig von cron, cron.daily und/oder anacron ausgeführt werden. Ich suche keinen Filter für einen bestimmten Zeitraum des Skripts und brauche eine Liste aller Skripte (einige Administratoren möchten diese Art von Filter jedoch möglicherweise).
Zweck:Um alle regelmäßig ausgeführten Skripte zu dokumentieren, sodass das Debuggen oder die Fehlerprüfung, die Aktualisierung und die Übertragung auf ein neueres System einfach und effizient ist.
Danke
Antwort1
Ich bin nicht sicher, ob das das ist, was Sie wollen. Ich habe diese Antwort vor einiger Zeit auf einem Stackexchange gefunden und verwende sie auf einem Server.
for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done
Dadurch werden alle Crontabs für alle Benutzer aufgelistet.
Antwort2
Sie sollten nichts, was Sie im Internet finden, ohne entsprechendes Verständnis ausführen. Im Folgenden finden Sie jedoch die Dateinamen und Anzeigepfade für die in den cron.hourly
/ cron.daily
/ cron.monthly
-Ordnern ausgeführten Skripte ... (in meinem Fall CentOS).
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
grundsätzlich mehrere Versionen davon:
cd /etc/cron.hourly/&&for i in $(ls);do find 'pwd' -name $i;done
Wechseln Sie in das Verzeichnis und ls
suchen und zeigen Sie dann für jeden Dateinamen den Pfad an.
EDIT: für Programmierer, die Struktur mögen … dasselbe wie eine Funktion:
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;
}
dann renne:
AllTheCrons