1. 程式人生 > >因時區問題導致的NTP同步問題

因時區問題導致的NTP同步問題

時區 ntp

今天在搭建項目環境的時候,發現有一臺服務器使用ntpdata ntpserver命令後,與ntp服務器時間差距很大。經過排查,最終發現是由於在安裝系統時,選擇時區這一塊沒有選擇正確(默認時區),由此導致了顯示的時間和服務器的時間差距很大。

解決辦法:修改系統時區為Asia/Shanghai(使用如下命令),然後再重新執行ntpdate命令即可。

cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

相關擴展:

查看系統時區相關命令:

[root@localhost ~]# date +%z
+0800     #<==即東八區時間

修改系統時區相關操作:

將/usr/share/zoneinfo/目錄下面的對應時區文件復制到/etc/目錄,並重命令為localtime,例如設置Asia/Shanghai為默認時區命令:

cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

/etc/localtime文件:

設置系統的時區,將/usr/share/zoneinfo/ 中相應文件拷貝到/etc下並重命名為 localtime 即可修改時區設置,這種修改對 date 
命令是及時生效的。不論是 date 還是 hwclock 都會用到這個文件,會根據這個文件的時區設置來進行UTC和本地之間之間的換算。
/etc/sysconfig/clock文件(不用修改):
這個配置文件裏面支持UTC,ARC,SRM,ZONE這幾個配置選項,關於這幾個配置選項詳解如下:
(1)UTC
指定BIOS中保存的時間是否是GMT/UTC時間,true表示BIOS裏面保存的時間是UTC時間,false表示BIOS裏面保存的時間是本地時間
(2)ZONE
指定時區,ZONE的值是一個文件的相對路徑名,這個文件是相對 /usr/share/zoneinfo 目錄下的一個時區文件。比如ZONE的值可以是:“Asia/Shanghai", "US/Pacific", "UTC" 等
(3)ARC
這個選項一般配置false,在一些特殊硬件(Alpha)下才配置該選項為true
(4)SRM
它同ARC,該選項一般配置false,在一下特殊硬件下才配置該選項為false
說明:這個配置文件裏面的參數和 hwclock 命令關系很大,系統在啟動的時候讀取/etc/sysconfig/clock 文件的內容,根據這些內容調用hwclock 命令
(5)/etc/sysconfig/clock的配置實例
ZONE="Asia/Shanghai"
UTC=false
ARC=false


因時區問題導致的NTP同步問題