670 Stimmen

Ist es möglich, eine Logrotate-Prüfung manuell durchzuführen?

Ist es möglich, eine Iteration von logrotate manuell auszuführen, ohne sie in einem bestimmten Intervall zu planen?

32voto

wangc Punkte 249

Geben Sie den folgenden Befehl ein, um das angegebene Logrotate auszuführen:

logrotate -vf /etc/logrotate.d/custom

Optionen:

-v :den Prozess anzeigen

-f :forcing run

custom :benutzerdefinierte Log-Einstellung

z.B.: mongodb-log

# mongodb-log rotate

/data/var/log/mongodb/mongod.log {
    daily
    dateext
    rotate 30
    copytruncate
    missingok
}

12voto

Ben Aveling Punkte 648

Bearbeiten Sie /var/lib/logrotate.status (oder /var/lib/logrotate/logrotate.status), um das Datum der "letzten Rotation" der zu testenden Protokolldatei zurückzusetzen.

Dann laufen logrotate YOUR_CONFIG_FILE .

Sie können auch die Option --force verwenden, aber durch die Bearbeitung von logrotate.status können Sie genauer bestimmen, was rotiert wird und was nicht.

8voto

anthony Punkte 7378

Ich habe ein Shell-Skript erstellt, um das Problem zu lösen.

https://antofthy.gitlab.io/software/#logrotate_one

Dieses Skript führt nur die einzelne logrotate-Subkonfigurationsdatei in "/etc/logrotate.d" aus, bezieht aber die globalen Einstellungen aus der globalen Konfigurationsdatei "/etc/logrotate.conf" mit ein. Sie können auch andere Otpionen zum Testen verwenden...

Zum Beispiel...

  logrotate_one -d syslog

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X