Linux:dmesg的时间戳转换为可阅读的形式-创新互联

dmesg的时间戳

dmesg 日志中的“时间”(18.204452) 表示的是系统启动到事件发生的时间差,这个值可以转换成时间戳:

网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了南岗免费建站欢迎大家使用!
unix_time=`echo "$(date +%s) - $(cat /proc/uptime | cut -f 1 -d' ') + 18.204452 " | bc`
echo ${unix_time}

注:/proc/uptime 第一列表示的是系统开机时间,根据这个值和当前时间可以获取到 dmesg 日志中事件发生的时间。

时间戳转换为对应的可读的时间
date -d "@${unix_time}" '+%Y-%m-%d %H:%M:%S'
转换脚本
#!/bin/bash

if [ $# -ne 1 ];then
echo "input an dmesg time"
exit 1
fi

unix_time=`echo "$(date +%s) - $(cat /proc/uptime | cut -f 1 -d' ') + ${1}" | bc`
echo ${unix_time}
date -d "@${unix_time}" '+%Y-%m-%d %H:%M:%S'
运行示例
# ./test.sh 18.204452
1538100496.004452
2018-09-28 10:08:16
扩展

dmesg -h 查看帮助
-T,–ctime 打印人类可读的时间戳

#dmesg -T

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前题目:Linux:dmesg的时间戳转换为可阅读的形式-创新互联
文章出自:http://scjbc.cn/article/diocsc.html

其他资讯