如何获得时间同步输出(服务器上的不同时区)?

gas*_*ter 4 logs syslog time timezone

因此,想象一下有大约 100 台服务器具有不同的时区(并非所有时区都不同,而是许多时区)。服务器日志上有输出,例如:

server1:BFE4C025   0420201413 P H sysplanar0     UNDETERMINED ERROR
server2:BFE4C025   0421032413 P H sysplanar0     UNDETERMINED ERROR
Run Code Online (Sandbox Code Playgroud)

-> 所以他们在服务器时间(不同的时区)->

0420201413 = 2013.04.20. 20:14
0421032413 = 2013.04.21 03:24
Run Code Online (Sandbox Code Playgroud)

转换例如:0421032413 到 2013.04.21 03:24 是微不足道的。但是:服务器时间再次不同,如果我在这两个服务器上同时发出“日期”命令:

server1:Tue Apr 23 07:23:24 EDT 2013
server2:Tue Apr 23 13:23:24 MESZ 2013
Run Code Online (Sandbox Code Playgroud)

我明白了。但是我需要在一个时区中提到的日志(只有那几行/服务器)。为什么?因为了解您所在时区的确切事情发生时间非常有用,例如:CET TZ。

:如何将服务器日志时间转换为中欧时间?

Ant*_*hon 6

如果您只想转换现有的 syslog 文件,您可以使用一个小的 python/perl/ruby 程序来改变Tue Apr 23 07:23:24 EDT 2013一些 UTC(或 CET)。

如果您想更好地控制写入日志文件的时间格式,您可能需要查看syslog-ng. 它的tsformat()功能允许您配置时间格式,例如iso8601。

我自己不得不使用 5 个时区的服务器,我强烈建议使用 UTC 时间戳。由于夏令时没有同时开始,跟踪 PST 中的 CET(或 CEST)是什么(或者它已经是 PDT)是一场噩梦。