Nun, Sie könnten nachsehen, welche Dateideskriptoren der Prozess geöffnet hat ... Versuchen Sie vielleicht zu erklären, welches genaue Problem Sie haben? Versuchen Sie, Ihre eigenen Skripte zu debuggen? Leistung von Standardskripten / Skripten von Drittanbietern?
Hubert Kario
Antworten:
55
cat /var/lib/logrotate/status
Überprüfen Sie in der Datei / var / lib / logrotate / status, ob sich ein bestimmtes Protokoll tatsächlich dreht oder nicht, und überprüfen Sie das Datum und die Uhrzeit der letzten Drehung. Dies ist eine ordentlich formatierte Datei, die den Namen der Protokolldatei und das Datum der letzten Rotation enthält.
Betrachtet man Ubuntu, wird cat /var/lib/logrotate/status nur die vom Root-Benutzer initiierte Logrotate-Aktivität angezeigt . Die Cronjobs anderer Benutzer können ihre eigene Logrotationsaktivität auslösen, z. B. wenn ihre Crontab einen Eintrag wie enthält 0 0 * * * /usr/sbin/logrotate $HOME/logrotate/logrotate.conf --state $HOME/logrotate/logrotate-state. Diese logrotate-Aktivität würde in die Datei geschrieben $HOME/logrotate/logrotate-state, wobei $HOMEes sich um das Ausgangsverzeichnis dieses Benutzers handelt.
Abdull
In noch neueren RedHat-Systemen (zumindest in RHEL 7.6) befindet sich die Statusdatei jetzt unter /var/lib/logrotate/logrotate.status.
Richlv
13
Sie können versuchen, logrotate im Debug- oder im ausführlichen Modus auszufü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.
Hilft das, wenn Logrotate als Cron gestartet wird? Ich meine, gibt es eine Möglichkeit, das Verhalten von logrotate in einer Protokolldatei zu protokollieren?
@dude: Wenn Sie versuchen, dies über die Befehlszeile zu tun und diese Fehlermeldung erhalten, müssen Sie folgendermaßen vorgehen: (Stellen Sie sichersudo logrotate -v /etc/logrotate.conf 2>&1 | sudo tee -a /var/log/logrotate.log >/dev/null , dass Sie die haben -a).
Dennis Williamson
@ Tennis, wenn ich versuche, dass ich zwar die logrotate.log erstellt, aber es hat 0 KB und der Prozess stoppt nicht am Terminal und wartet mit einem blinkenden Cursor.
AWS AMI Linux hat die gleiche Statusstruktur wie Logrotate
Victor Perov,
5
Verschiedene Protokolle werden abhängig von der Konfigurationsdatei (/etc/logrotate.conf) und / oder dem Verzeichnis (/etc/logrotate.d) auf verschiedenen Frequenzen gedreht. Namen können bei verschiedenen Distributionen variieren. Die Konfiguration kann Aktionen vor und / oder nach der Rotation angeben. Die Namen der gedrehten Dateien und das Datum der letzten Drehung befinden sich in der Statusdatei (/ var / lib / logrotate / state).
Logrotate hat keine Protokollierungsmöglichkeiten. Von ihm eingeleitete Aktionen zum erneuten Laden / Neustarten werden gemäß der Protokollierung für das Programm protokolliert, auf das reagiert wird.
Der einfachste Weg, dies zu tun, ist das Bearbeiten /etc/cron.daily/logrotate, um die -vOption einzuschließen. Details zur Konfiguration und zu den Optionen von logrotate finden Sie mit dem Befehl man logrotate.
Antworten:
Genommen von:
https://www.digitalocean.com/community/articles/how-to-manage-log-fileses-with-logrotate-on-ubuntu-12-10
quelle
/var/lib/logrotate.status
auf Red Hat-Systemen.cat /var/lib/logrotate/status
nur die vom Root-Benutzer initiierte Logrotate-Aktivität angezeigt . Die Cronjobs anderer Benutzer können ihre eigene Logrotationsaktivität auslösen, z. B. wenn ihre Crontab einen Eintrag wie enthält0 0 * * * /usr/sbin/logrotate $HOME/logrotate/logrotate.conf --state $HOME/logrotate/logrotate-state
. Diese logrotate-Aktivität würde in die Datei geschrieben$HOME/logrotate/logrotate-state
, wobei$HOME
es sich um das Ausgangsverzeichnis dieses Benutzers handelt./var/lib/logrotate/logrotate.status
.Sie können versuchen, logrotate im Debug- oder im ausführlichen Modus auszuführen:
quelle
sudo logrotate -v /etc/logrotate.conf 2>&1 | sudo tee -a /var/log/logrotate.log >/dev/null
, dass Sie die haben-a
).In Suse Linux-Distributionen sieht das so aus:
quelle
Verschiedene Protokolle werden abhängig von der Konfigurationsdatei (/etc/logrotate.conf) und / oder dem Verzeichnis (/etc/logrotate.d) auf verschiedenen Frequenzen gedreht. Namen können bei verschiedenen Distributionen variieren. Die Konfiguration kann Aktionen vor und / oder nach der Rotation angeben. Die Namen der gedrehten Dateien und das Datum der letzten Drehung befinden sich in der Statusdatei (/ var / lib / logrotate / state).
Logrotate hat keine Protokollierungsmöglichkeiten. Von ihm eingeleitete Aktionen zum erneuten Laden / Neustarten werden gemäß der Protokollierung für das Programm protokolliert, auf das reagiert wird.
Der einfachste Weg, dies zu tun, ist das Bearbeiten
/etc/cron.daily/logrotate
, um die-v
Option einzuschließen. Details zur Konfiguration und zu den Optionen von logrotate finden Sie mit dem Befehlman logrotate
.quelle
Alter, du kannst die Einstellungen von
logrotate
in der Regel überprüfen/etc/logrotate.conf
.Moderne Distributionen haben eine bestimmte
logrotate
Konfigurationsdatei im/etc/logrotate.d
Verzeichnis.zB für
nginx
Die Datei wird 52 Wochen (ein Jahr) lang aufbewahrt. Die Rotation erfolgt wöchentlich.
Hinweis: user56548 war früher "Dude"
quelle
rotate 365
oderweekly
. Die tägliche Umdrehung mitrotate 52
wird offensichtlich 52 Tage lang protokolliert.weekly