2016-06-16 8 views
0

一部のホストのクロックが歪んでいるため、syslogのタイムスタンプが3分12秒ずれている分散システムの死体解析を行っています。既存のsyslogファイルのタイムスタンプの歪みを修正しました。

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

そして、このようなSTDOUT印刷何かに:

2016-06-14T00:01:55.324758+00:00 Host1 charon: 14[IKE] sending DPD request 
... 

いくつかのマルチがあり

は、コマンドラインではそれはSTDINからこれらのような行を持つファイルを取ることができる、あまりにもありますsyslogの中にある行のメッセージが表示されるので、そのツールもそれに対処できればいいと思います。私の心に入った最初のツールはawkですが、それがどのようにできるのかは明らかではありません。

答えて

2

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 
+1

ログのファイル内のすべてのタブやその他の空白のシーケンスを1つの空白文字で置き換えます。 mktime(a [1])+ 12 + 3 * 60)a [2] 'サブ'を使用する(% mktime(a [1])+ 12 + 3 * 60)a [[スペース:]] + /、strftime( "%Y-%m-%dT%H:%M:%S" 2]) 'を実行します。 –

関連する問題