Timezone

Linux 伺服器上的夏令時選項

  • June 28, 2013

我的 CentOS 伺服器沒有更新顯示正確的時間。我已經設定

$ ln -sf /usr/share/zoneinfo/Europe/London  /etc/localtime

我仍然在格林威治標準時間。

我確實看到以下條目/etc/sysconfig/clock

$cat /etc/sysconfig/clock
ZONE="Europe/London"
UTC=true
ARC=false

仍然沒有顯示正確的時間。

NTP 正在此伺服器上執行:

$ ntpq -p
remote           refid      st t when poll reach   delay   offset  jitter
+         IP Address      3 u   42 1024  377    0.476   63.077   0.001
*         IP Address      3 u   53 1024  377    1.183   30.425   0.001

ntp 伺服器有正確的時間。這些是 Windows 域控制器。

我已經從這裡https://serverfault.com/questions/267629/configure-centos-with-ntp查看了答案,但這對這種情況沒有幫助。

有任何想法嗎?

分開問題:是時區配置錯誤,還是時間配置?您可以使用一些工具、日期和 zdump 來確定這一點。

如果 date 報告正確的 UTC 時間,那麼您知道問題存在於時區設置中,而不是內部時間設置中。

$ date --utc
Fri Jun 28 14:02:43 UTC 2013
$ date
Fri Jun 28 10:02:45 EDT 2013

zdump 將列印每個指定時區的目前時間(從內部 UTC 時間中提取)

$ zdump /usr/share/zoneinfo/Europe/London /usr/share/zoneinfo/GMT
/usr/share/zoneinfo/Europe/London  Tue Jun 28 15:02:49 2013 BST
/usr/share/zoneinfo/GMT            Tue Jun 28 14:02:49 2013 GMT

如果 Europe/London zoneinfo 文件生成與 GMT zoneinfo 文件相同的時間,則 Europe/London 或 GMT 的內容不正確。如果是這種情況,我會感到驚訝,但如果是這樣,請查看從 rpm 重新安裝文件,或者以其他方式更正它。我相信有一些程序可用於讀取和輸出 zoneinfo 內容,但不知道它們,因為我只是編寫了自己的程序。

如果遇到內部 UTC 時間正確,並且 zoneinfo 文件正確,但 date 仍然報告 GMT 的情況,則 localtime 的設置不正確或陳舊。man tzset會告訴你更多關於本地時間轉換如何發生的資訊,但請env查看環境變數 TZ、TZDIR 的設置。最後將本地時間配置文件與所需設置進行比較:cmp /etc/localtime /usr/share/zoneinfo/Europe/London

引用自:https://unix.stackexchange.com/questions/80993