Dmesg mit korrektem lesbaren Timestamp
Aus Si:Wiki von Siegrist SystemLösungen - Informatik und Rezepte
Die Zeitstempel vom dmesg
sind die Sekunden.Millisekunden seit dem letzen Boot. Für Menschen eigentlich unlesbar bis nutzlos.
Kommt hinzu, dass diese Zeitstempel nach einem suspend/resume nicht mehr stimmen da sie währendessen nicht gezählt werden.
#!/bin/bash # # write current time to kernel ring buffer echo "timecheck: $(date +%s) = $(date +%F_%T)" > /dev/kmsg # use our "timecheck" entry to get the difference offset=$(dmesg | grep timecheck | tail -1 | perl -nle '($t1,$t2)=/^.(\d+)\S+ timecheck: (\d+)/; print $t2-$t1') # pipe dmesg output through a Perl snippet to convert it's timestamp to correct readable times # for use without colors: #-> dmesg | perl -pe 'BEGIN{$offset=shift} s/^\[\s*(\d+)\S+/localtime($1+$offset)/e' $offset # for use to keep dmesg colors: dmesg --color=always | perl -pe 'BEGIN{$offset=shift} s/^(\x1b\[.*?m)?\[\s*(\d+)\S+/$1.localtime($2+$offset)/e' $offset
- → Je nach System die dmesg-Zeile mit oder ohne 'color' aktivieren !