Frage Wie kann ich überwachen, was logrotate macht?


Wie kann ich überwachen, was Logrotate in Ubuntu macht? Kann die Aktivität von Logrotat überwacht werden?


48
2017-10-09 13:43


Ursprung


Nun, Sie könnten gehen und sehen, welche Dateideskriptoren der Prozess geöffnet hat ... Vielleicht versuchen Sie zu erklären, welches genaue Problem Sie haben? Versuchen Sie, Ihre eigenen Skripte zu debuggen? Performance von Standard / 3rd Party Skripten? - Hubert Kario


Antworten:


cat /var/lib/logrotate/status 

Überprüfen Sie die Datei / var / lib / logrotate / status, um zu überprüfen, ob ein bestimmtes Protokoll tatsächlich rotiert oder nicht, und um das letzte Datum und die Uhrzeit seiner Rotation zu überprüfen. Dies ist eine sauber formatierte Datei, die den Namen der Protokolldatei und das Datum enthält, an dem sie zuletzt gedreht wurde.

Genommen von:

https://www.digitalcean.com/community/articles/how-to-manage-log-files-with-logrotate-on-ubuntu-12-10


49
2018-06-24 16:04



Sie finden diese Datei als /var/lib/logrotate.status auf Red Hat Systemen. - Michael Hampton♦
Hier finden Sie eine vollständige Anleitung zur Fehlerbehebung von logrotate in Red Hat-Systemen: Zugriff.redhat.com/solutions/32831 - Gaia
Wenn man Ubuntu betrachtet, cat /var/lib/logrotate/status  zeigt nur logrotate-Aktivität, die vom root-Benutzer initiiert wurde. Cronjobs anderer Benutzer können ihre eigene Logrotate-Aktivität auslösen, z. wenn ihre Crontab einen Eintrag wie z 0 0 * * * /usr/sbin/logrotate $HOME/logrotate/logrotate.conf --state $HOME/logrotate/logrotate-state. Diese Logrotate-Aktivität würde in Datei geschrieben werden $HOME/logrotate/logrotate-statemit $HOME das Heimverzeichnis dieses Benutzers sein. - Abdull


Sie können logrotate im Debug- oder im verbose-Modus ausführen:

-d     Turns  on  debug mode and implies -v.  In debug mode, no changes
          will be made to the logs or to the logrotate state file.

-v, --verbose
          Display messages during rotation.

11
2017-10-09 15:36



Hilft das, wenn logrotate als cron gestartet wird? Ich meine, gibt es eine Möglichkeit, das Verhalten von logrotate in eine Logdatei zu protokollieren?
/ usr / sbin / logrotate -v /etc/logrotate.conf &> /var/log/logrotate.log - kernelpanic
sudo logrotate -v /etc/logrotate.conf &> /var/log/logrotate.log bash: /var/log/logrotate.log: Berechtigung verweigert
@dude: Wenn Sie das über die Befehlszeile versuchen und Sie diesen Fehler erhalten, müssen Sie Folgendes tun: sudo logrotate -v /etc/logrotate.conf 2>&1 | sudo tee -a /var/log/logrotate.log >/dev/null (machen sicher du hast die -a). - Dennis Williamson
@Dennis, wenn ich das versuche, obwohl ich die logrotate.log erstellt, aber es hat 0KB und der Prozess stoppt nicht am Terminal und und wartet mit einem blinkenden Cursor.


In Suse Linux Distribos ist wie folgt:

cat /var/lib/logrotate.status

6
2018-04-14 14:40



AWS AMI Linux hat dieselbe Status-Struktur wie Logrotate - Victor Perov


Verschiedene Protokolle werden basierend auf der Konfigurationsdatei (/etc/logrotate.conf) und / oder dem Verzeichnis (/etc/logrotate.d) auf verschiedenen Frequenzen gedreht. Namen können bei verschiedenen Verteilungen variieren. Die Konfiguration kann Vor- und / oder Nachdrehaktionen spezifizieren. Die Namen rotierter Dateien und das Datum der letzten Rotation befinden sich in der Statusdatei (/ var / lib / logrotate / state).

Logrotate verfügt nicht über Protokollierungsfunktionen. Reload / Neustart-Aktionen, die initiiert werden, werden gemäß der Protokollierung für das Programm protokolliert, für das die Aktion ausgeführt wird.

Der einfachste Weg wäre das Bearbeiten /etc/cron.daily/logrotate das einschließen -v Möglichkeit. Details über die Konfiguration und Optionen von logrotate können mit dem Befehl gefunden werden man logrotate.


3
2017-10-10 05:06





Alter, du kannst die Einstellungen von überprüfen logrotatenormalerweise in /etc/logrotate.conf.

Moderne Distributionen haben eine Besonderheit logrotate Konfigurationsdatei in der /etc/logrotate.d Verzeichnis.

z.B. zum nginx

  /var/log/nginx/*.log {
    weekly
    missingok
    rotate 52

Es wird die Datei für 52 Wochen (ein Jahr) behalten. Die Rotation ist wöchentlich.


Hinweis: Benutzer56548 war früher "Dude"

enter image description here


2
2017-10-09 15:57



Wahrscheinlich, meintest du? rotate 365 oder weekly. Tägliche Rotation mit rotate 52 wird offensichtlich 52 Tage Holz halten. - temoto
@temoto danke, war es eigentlich weekly - Ring Ø