Ubuntu

如何將“dmesg”時間格式轉換為“實時”時間格式

  • April 17, 2021

我在輸出中有(例如)這個日誌條目dmesg

[600711.395348] do_trap: 6 callbacks suppressed

是否有可能將此“dmesg”時間轉換為“實時”時間以了解此事件何時發生?

它看起來好像是最近為 Quantal (12.10) 實施的:請參閱http://brainstorm.ubuntu.com/idea/17829/

基本上,dmesg據報導有一個新的開關-T, --ctime


*編輯。*作為 Ignacio 答案的另一個擴展,這裡有一些腳本可以增強舊系統上的 dmesg 輸出。

(注意:對於那裡顯示的程式碼的 python 版本,需要替換<>返回以<>使其再次可用。)


最後,對於600711.395348一個可以做的單一值

ut=`cut -d' ' -f1 </proc/uptime` 
ts=`date +%s` 
date -d"70-1-1 + $ts sec - $ut sec + $(date +%:::z) hour + 600711.395348 sec" +"%F %T"

並獲取當地時區的事件日期和時間。

(請注意,由於四捨五入的錯誤,最後第二個數字可能不准確。)。

編輯(2):請注意——根據下面 Womble 的評論,——這只有在機器沒有休眠等情況下才有效。(在這種情況下,最好查看syslog配置/etc/*syslog*並檢查適當的文件。另請參閱:dmesg 與 /var/messages。)

引用自:https://serverfault.com/questions/366392