Einige Distributionen bieten den Service die Logfiles nach der Rotation mit einem Zeitstempel zu versehen schon lange an. Debian ist hier ein wenig stiefmütterlich. Dabei ist die Lösung selbst bei Debian schon vorhanden. Es ist einfach eine Konfigurationsgeschichte für logrotate.
Unter /etc/logrotate.conf sollte Ihre Konfigurationsdatei für den Logrotate-Mechanismus liegen. Hier ist die Konfiguration hinterleg wie die Dateien der einzelnen Dienste rotiert werden sollen.
Wie z.B.:
/var/log/<Log des Dienstes>{
size 1k
copytruncate
create 700 bla bla
rotate 4
compress
}
Ergänze ich nun die Option dateext werden nun die rotierteten Logs mit einem Zeitstempel versehen:
Obiges Beispiel sieht dann so aus:
/var/log/<Log des Dienstes>{
size 1k
copytruncate
create 700 bla bla
dateext
rotate 4
compress
}
Wer kennt den Befehl dmesg unter Linux nicht? Er ist oft der erste Anlaufpunkte für Diagnosemöglichkeiten. Er zeigt den Bootverlauf und mögliche Fehler, er zeigt aber auch Devicenamen wie /dev/sdd für mobile Festplatten.
Der Aufruf ist simple:
dmesg
Die Ausgabe zeigt bei mir z.B: sowas:
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 3.2.0-52-generic (buildd@roseapple) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #78-Ubuntu SMP Fri Jul 26 16:21:44 UTC 2013 (Ubuntu 3.2.0-52.78-generic 3.2.48)
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.2.0-52-generic root=UUID=f83dc103-66a2-434d-bf1c-cac343facf01 ro
[ 0.000000] KERNEL supported cpus:
[ 0.000000] Intel GenuineIntel
[ 0.000000] AMD AuthenticAMD
[ 0.000000] Centaur CentaurHauls
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: 0000000000000000 - 0000000000093000 (usable)
oder aber auch sowas:
[ 726.557565] kjournald starting. Commit interval 5 seconds
[ 726.557983] EXT3-fs (sdc3): using internal journal
[ 726.557998] EXT3-fs (sdc3): mounted filesystem with ordered data mode
Hier wird es nun schwierig im Fehlerfall herauszufinden wann der Fehler genau aufgetreten ist. Die Zeit wird zwar angezeigt und zwar an der ersten Stelle in []. Aber hier erscheint die Zeit als Zeitstempel seit dem Bootvorgang.
Rufe ich nun dmesg folgendermaßen auf:
dmesg -T
bekomme ich eine menschenlesbare Ausgabe
[So Aug 25 15:28:23 2013] kjournald starting. Commit interval 5 seconds
[So Aug 25 15:28:23 2013] EXT3-fs (sdc3): using internal journal
[So Aug 25 15:28:23 2013] EXT3-fs (sdc3): mounted filesystem with ordered data mode