Linux 時鐘分爲系統時鐘(System Clock)和硬件(Real Time Clock ,簡稱RTC )時鐘。系統時鐘是指當前Linux Kernel中的時鐘,而硬件時鐘則是主板上由電池供電的時鐘,這個硬件時鐘可以在BIOS中進行設置。當Linux 啓動時,硬件時鐘會去讀取系統時鐘的設置,然後系統時鐘就會獨立於硬件運作。
Linux中的所有命令(包括函數)都是採用的系統時鐘設置。在Linux中,用於時鐘查看和設置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只用一個就行,只不過clock命令除了支持x86硬件體系外,還支持Alpha硬件體系。
1、date
查看系統時間
# date
設置系統時間
# date --set “07/07/06 10:19" (月/日/年時:分:秒)
2、hwclock/clock
查看硬件時間
# hwclock --show
或者# clock --show
設置硬件時間
# hwclock --set --date="07/07/06 10:19" (月/日/年 時:分:秒)
或者# clock --set --date="07/07/06 10:19" (月/日/年 時:分:秒)
3、硬件時間和系統時間的同步
按照前面的說法,重新啓動系統,硬件時間會讀取系統時間,實現同步,但是在不重新啓動的時候,需要用hwclock或clock命令實現同步。
硬件時鐘與系統時鐘同步:# hwclock --hctosys(hc代表硬件時間,sys代表系統時間)或者# clock --hctosys
系統時鐘和硬件時鐘同步:# hwclock --systohc或者# clock --systohc
4、時區的設置
第一種方式
1、用date修改日期時間
#date -s 08/24/2006
#date -s 13:02:00
2、同步BIOS時鐘,強制把系統時間寫入CMOS
#clock -w
3、查看Bois時間用 #hwclock –r
第二種方式:NTP服務器的設置
1. 確認沒有運行ntp daemon。
# /etc/init.d/ntpd stop
2. 在/etc/ntp.conf中寫入如下內容:
driftfile /etc/ntp/drift
logfile /var/log/ntp.log
server pool.ntp.org
注意:如果沒有drift或logfile,需要手動創建之,並把權限設爲root可讀寫,其他用戶只讀
3. 用ntpdate手動更新時間:
這是因爲當你的系統時間誤差很大,有20~30分鐘以上時,ntp的更新將非 常慢,而ntpdate的更新一般是很快的。
# ntpdate pool.ntp.org4. (cn.pool.ntp.org)
4.啓動ntp daemon:
# /etc/init.d/ntpd start
5. 檢查ntpd的狀態:
# ntpq -p如果見到ntp服務器的名字,那就說明啓動成功了
6. 添加ntpd爲系統啓動服務:
# chkconfig --add ntpd
# chkconfig --level 3 ntpd on
# chkconfig --level 012456 ntpd off
第三種方式
修改時區:
第1步:.找到相應的時區文件 /usr/share/zoneinfo/Asia/Shanghai
用這個文件替換當前的/etc/localtime文件。
或者找你認爲是標準時間的服務器,然後
#scp [email protected]:/etc/localtime /etc/localtime
第2步:修改/etc/sysconfig/clock文件,修改爲:
ZONE="Asia/Shanghai"
UTC=false
ARC=false