回答:
Quantal(12.10)に最近実装されたかのように見えます:http ://brainstorm.ubuntu.com/idea/17829/を参照してください。
基本的に、dmesg
新しいスイッチがあると報告されてい-T, --ctime
ます。
編集。イグナシオの答え上の別の拡張として、ここでは古いシステムでdmesgの出力を高めるためにいくつかのスクリプトがあります。
(注:コードのPythonのバージョンが示され、1つは交換したいだろう<
と>
バックに<>
それを再び使用できるようにします。)
最後に、単一の値のためのように600711.395348
一つは行うことができます
ut=`cut -d' ' -f1 </proc/uptime`
ts=`date +%s`
date -d"70-1-1 + $ts sec - $ut sec + 600711.395348 sec" +"%F %T"
イベントの日時を取得します。
(丸め誤差のため、最後の2桁目はおそらく正確ではないことに注意してください。)
Edit(2):以下のWombleのコメントによると、これはマシンが休止状態などになっていない場合にのみ機能することに注意してください(その場合、適切なファイルのsyslog
設定を見て/etc/*syslog*
、チェックする方が良いでしょう。 :dmesg vs / var / messages。)
date -d"1970-01-01 + $(date +%s) sec - $(cut -d' ' -f1 </proc/uptime) sec + 600711.395348 sec" +"%F %T.%N %Z"
%Z
がUTC
、date +%s
UTC からの秒数を返すため、の代わりにを使用する必要があります その後、ローカルタイムゾーンに変換する必要があります。
dmesgで指定される時間は、カーネルが起動してからの秒数です。したがって、カーネルが実行を開始した時間(ヒント:稼働時間)にその秒数を追加するだけです。
私はこれが今では古いことを知っていますが、dmesgには現地時間で時刻を表示する組み込みの-eまたは--reatimeオプションがあります。
root@bbs:/var/log# dmesg|tail -1
[50755952.379177] Out of memory in UB 1593: OOM killed process 3183 (sbbs) score 0 vm:747204kB, rss:242764kB, swap:88224kB
root@bbs:/var/log# dmesg -e|tail -1
[Feb20 17:10] Out of memory in UB 1593: OOM killed process 3183 (sbbs) score 0 vm:747204kB, rss:242764kB, swap:88224kB