本文整理自網上文檔linux
Linux將時鐘分爲系統時鐘(System Clock)和硬件(Real Time Clock,簡稱RTC)時鐘兩種。服務器
系統時間是指當前Linux Kernel中的時鐘,使用date命令ide
而硬件時鐘則是主板上由電池供電的那個主板硬件時鐘,這個時鐘能夠在BIOS的Standard BIOS Feture」項中進行設置。用hwclock和clock的命令,clock和hwclock用法相近,只不過clock命令除了支持x86硬件體系外,還支持Alpha硬件體系。因爲目前絕大多數用戶使用x86硬件體系,因此能夠視這兩個命令爲一個命令來學習。
學習
在系統啓動時,Linux操做系統將時間從CMOS中讀到系統時間變量中,之後修改時間經過修改系統時間實現。爲了保持系統時間與CMOS時間的一致性, Linux每隔一段時間會將系統時間寫入CMOS。因爲該同步是每隔一段時間(大約是11分鐘)進行的,在咱們執行date -s後,若是立刻重起機器,修改時間就有可能沒有被寫入CMOS,這就是問題的緣由。若是要確保修改生效能夠執行以下命令。
url
第一部分:使用date設置系統時間spa
#hwclock -w
這個命令強制把系統時間寫入CMOS,(等同於hwclock --systohc)
操作系統
第二部分:使用hwclock或clock命令查看和設置硬件時鐘 rest
查看硬件時鐘
#hwclock --show
或
#clock –show
2003年09月17日 星期三 13時24分11秒 -0.482735 seconds
設置硬件時鐘的操做:
# hwclock --set --date="09/17/2003 13:26:00"
或者
# clock --set --date="09/17/2003 13:26:00"
通用的設置格式:hwclock/clock --set --date=「月/日/年 時:分:秒」。
第三部分:同步系統時鐘和硬件時鐘server
Linux系統(筆者使用的是Red Hat 8.0,其它系統沒有作過實驗)默認重啓後,硬件時鐘和系統時鐘同步。若是不大方便從新啓動的話(服務器一般不多重啓),使用clock或hwclock命令來同步系統時鐘和硬件時鐘。
(1)系統時鐘同步至硬件時鐘 (把當前的系統時鐘寫到硬件時鐘裏)
# hwclock --systohc
或者
# hwclock -w
或者
# clock –systohc
輸入#hwclock --help查看全部參數和格式,--systohc表示SYStem clock to Hardware Clock 。文檔
(2)硬件時鐘同步至系統時鐘 (把硬件時間寫到系統時間)
# hwclock --hctosys
或者
# clock –hctosys
上面命令中,--hctosys表示Hardware Clock to SYStem clock。
第四部分:設置時區
第五部分: NTP時種服務器
一、Linux主機作時間服務
(以RedHat9.0爲例)
第一步:檢查是否已經安裝有ntp軟件包。輸入「rpm -qa|grep ntp」,若是已經安裝應該顯示「ntp-4.1.2-0.rc1」。
第二步:安裝ntp軟件,從ftp://ftp.redhat.com下載rpm包,輸入「rpm -ivh ntp-xxx.rpm」執行安裝。
第三步:配置ntp服務。備份原/etc/ntp.conf文件後,輸入如下內容
server 210.72.145.44
server 0.rhel.pool.ntp.org
server 1.rhel.pool.ntp.org
當第一個地址鏈接失敗時,後面的地址提供時間服務。
第四步:啓動ntp服務。輸入「service ntp restart」。爲了保證之後Linux機啓動後ntp服務能自動啓動,還要輸入「chkconfig ntpd on」。
Linux下的ntp軟件不但能自動與互聯網上的時鐘保持同步,同時自己已是一臺SNTP服務器了
2,Linux主機作ntp客戶端
向國家授時中心服務器IP地址 210.72.145.44進行同步
如上只要手工執行「ntpdate 時間服務器IP地址」便可。如想天天自動對時,能夠把這條命令放在cron中,注意在同一臺電腦上ntp服務與ntpdate命令不能同時使用。