如何取得時間同步輸出(伺服器上的不同時區)?

如何取得時間同步輸出(伺服器上的不同時區)?

因此,想像一下大約有 100 個具有不同時區的伺服器(並非所有時區都不同,而是很多時區)。伺服器日誌上有下列輸出:

server1:BFE4C025   0420201413 P H sysplanar0     UNDETERMINED ERROR
server2:BFE4C025   0421032413 P H sysplanar0     UNDETERMINED ERROR

-> 所以它們處於伺服器時間(不同時區)->

0420201413 = 2013.04.20. 20:14
0421032413 = 2013.04.21 03:24

將 ex.: 0421032413 轉換為 2013.04.21 03:24 很簡單。但是:如果我在完全相同的時間在這兩台伺服器上發出“date”命令,伺服器時間又會有所不同:

server1:Tue Apr 23 07:23:24 EDT 2013
server2:Tue Apr 23 13:23:24 MESZ 2013

我明白了。但我需要一個時區中提到的日誌(只有那幾行/伺服器)。為什麼?因為了解您所在時區的特定事件發生時間非常非常有用,例如:CET TZ。

:如何將伺服器日誌時間轉換為中歐時間?

答案1

如果您只想轉換現有的系統日誌文件,您可以使用一個小的 python/perl/ruby 程式來更改Tue Apr 23 07:23:24 EDT 2013UTC(或 CET)的內容。

如果您想更好地控制寫入日誌檔案的時間格式,您可能需要查看syslog-ng.它的tsformat()功能可讓您配置時間格式,例如iso8601。

由於我自己必須使用 5 個時區的伺服器,因此我強烈建議您使用 UTC 時間戳記。由於夏令時不同時開始,追蹤 PST 中的 CET(或 CEST)(或是否已經是 PDT)是一場噩夢。

答案2

您可以用來date列印日期時間戳記並將其與日誌訊息一起儲存。

$ TZ='Europe/Warsaw' date
wto, 23 kwi 2013, 17:11:48 CEST
$ TZ='America/Los_Angeles' date
wto, 23 kwi 2013, 08:11:56 PDT
$ date --universal
wto, 23 kwi 2013, 15:13:14 UTC

用於tzselect查找時區。

相關內容