我正在对一个分布式系统进行事后分析,其中一些主机的时钟发生了偏差,因此syslog中的时间戳关闭了3分12秒。
是否也有命令行可以从STDIN获取类似行的文件:

2016-06-13T23:58:43.324758+00:00 Host1 charon: 14[IKE] sending DPD request
...

然后在标准输出中打印如下内容:
2016-06-14T00:01:55.324758+00:00 Host1 charon: 14[IKE] sending DPD request
...

syslog中很少有多行消息,因此如果该工具也能够处理这些消息,那就太好了。我想到的第一个工具是awk,但它如何做到这一点还不清楚。

最佳答案

去营救!

$ awk '{split($1,a,".");
        gsub(/:|-|T/," ",a[1]);
        $1=strftime("%Y-%m-%dT%H:%M:%S.", mktime(a[1])+12+3*60)a[2]}1' log

关于linux - 修复现有系统日志文件中的时间戳偏斜,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37868469/

10-14 13:41
查看更多