Timezone
Linux 伺服器上的夏令時選項
我的 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