Zugriff auf alte Daten aus dem Syslog

Zugriff auf alte Daten aus dem Syslog

Ich betreue verschiedene MySQL-Datenbanken, die wir vor Kurzem (von Windows) auf Linux-Server verschoben haben. Sie laufen einwandfrei und alles ist gut. Heute Morgen musste ich jedoch die Fehlerprotokolle überprüfen, aber diese werden jetzt in geschrieben /var/log/syslog.

Mein Systemadministrator hat heute frei und ich weiß beim besten Willen nicht, wie ich diese Daten lesen soll.

Die aktuellsten Daten kann ich problemlos abrufen mit

tail -f /var/log/syslog

Aber wie greife ich auf Daten von heute 1:00 Uhr zu? Oder von gestern?

Ich habe es versucht:

grep mysqld /var/log/syslog | less

aber das zeigt mir Daten ab 6 Uhr morgens

Ich habe dann versucht

grep '^Nov  4 01' /var/log/syslog | less

aber das zeigte mir nichts außer einer langen Liste von ^

Antwort1

Syslog erhältgedrehtregelmäßig. Das Ergebnis sieht so aus:

$ ls /var/log/syslog*
/var/log/syslog  /var/log/syslog.1  ...  /var/log/syslog.7.gz

Um das Muster „mysqld“ in regulären und rotierten Syslog-Dateien zu greppen, verwenden Sie zgrep, das in der Lage ist, unkomprimierte und komprimierte Dateien zu greppen:

$ zgrep mysqld /var/log/syslog* | less

Um nach Zeilen zu suchen, die "mysql" und ein bestimmtes Datum enthalten, verwenden Sie den Schalter -E, der erweiterteReguläre Ausdrücke:

$ zgrep -E 'Nov  4 01.+mysqld' /var/log/syslog* | less

verwandte Informationen