Erhalten Sie eine Liste aller Skripte und ihrer Pfade, die als Cron-Job ausgeführt werden

Erhalten Sie eine Liste aller Skripte und ihrer Pfade, die als Cron-Job ausgeführt werden

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 lssuchen 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

verwandte Informationen