Wo speichert Logrotate sein eigenes Protokoll?

25

Ich habe logrotateauf einem EC2 AWS-Rechner rotierende Apache-Protokolle ausgeführt. Nach dem Packen werden Apache-Protokolle über s3fs in AWS S3 gespeichert. Das Problem ist, dass ich kürzlich bemerkt habe, dass ich keine rotierten Protokolle hatte. In S3 habe ich alte Protokolle vom Tag 48-> 60, aber die 1-> 47 werden nicht angezeigt.

Meine Frage ist: Wo speichert Logrotate sein eigenes Protokoll? Es ist möglich, dass ich ein Problem mit s3fs habe, aber ich muss es wissen, bevor ich etwas tue. Ich habe versucht, irgendwo die Protokolle zu finden, aber ich konnte es nicht herausfinden.

Irgendeine Idee?

enedebe
quelle

Antworten:

20

logrotateprotokolliert standardmäßig nichts. normalerweise sollte es irgendwo in deinem cron sein, zum Beispiel:

$ grep -r -- 'logrotate.conf' /etc/cron*
/etc/cron.daily/logrotate:/usr/sbin/logrotate /etc/logrotate.conf

Sie können dies entweder manuell ausführen, um zu sehen, was falsch ist, oder die Logrotate-Ausgabe in eine Datei im obigen Cron umleiten, um zu sehen, was am nächsten Tag passiert ist.

Wahrscheinlich ist irgendwo die Konfiguration falsch und hat den Logrotate-Lauf zum Absturz gebracht.

johnshen64
quelle
+1 auf Laufen logrotate manuell, um zu sehen, was los ist
cjc
Vielen Dank für die Antwort, aber was ich wirklich wissen möchte, was in meinem System passiert ist, um dieses freundliche Ergebnis zu erhalten. Vielen Dank!
Enedebe
Gibt es beim manuellen Ausführen von logrotate Fehler? Wenn es Fehler gibt, müssen Sie diese in der Datei conf oder /etc/logrotate.d/apache (oder apache2) beheben.
Johnshen64
4
Sie können das -dDebug-Flag und das -fForce-Flag verwenden, um genau zu sehen, was Logrotate versucht. -dDeaktiviert Aktion, aber die gedruckten Nachrichten behaupten immer noch, dass sie Dinge ändern.
David Lord
Beim Laufen /usr/sbin/logrotate /etc/logrotate.confwürde ich hinzufügen -v, um das detaillierte Protokoll zu sehen.
Dennis Golomazov
6

Das einzige, was normalerweise in logrotierten Datensätzen vorkommt, ist in cat /var/lib/logrotate/status.

Dies ist /server//a/518134/266525 entnommen

dragon788
quelle
5

Ein weiterer guter Ort, um /var/log/messagesnach Fehlern wie diesen von der cron.daily auf CentOS zu suchen/etc/cron.daily/logrotate

logrotate: ALERT exited abnormally with [1]

Sie können den Debug-Modus auch manuell ausführen und nach Fehlern suchen:

/usr/sbin/logrotate -d /etc/logrotate.conf

Quelle: https://access.redhat.com/solutions/32831

Tony-Caffe
quelle
2

Wenn Sie logrotatevon cron ausführen und die Ausgabe nicht umleiten, wird die Ausgabe, sofern vorhanden, an die E-Mail-Adresse gesendet, für die die ID des Cron-Jobs ausgeführt wird. Ich leite meine Ausgabe in eine Protokolldatei um.

Beispielsweise:

25 3 * * 7 /usr/sbin/logrotate -s /home/user/conf/mwarelogrotate.state 
/home/user/conf/mwarelogrotate.conf >> /home/user/logs/logrotate.log 2>&1
Geoffrey M.
quelle
1

Suchen Sie /etc/logrotate.confnach globalen Konfigurationseinstellungen, die sich auf Aufgaben auswirken können, die über konfiguriert wurden/etc/logrotate.d/

cdmo
quelle