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的时间戳转换为可阅读的形式-创新互联
分享URL:https://www.cdcxhl.com/article32/diocsc.html
成都网站建设公司_创新互联,为您提供建站公司、虚拟主机、Google、定制开发、用户体验、全网营销推广
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联