瞭解Linux的時鐘(轉)

ba發表於2007-08-10
瞭解Linux的時鐘(轉)[@more@]由於Linux時鐘和Windows時鐘從概念的分類、使用到設定都有很大的不同,所以,搞清楚Linux時鐘的工作方式與設定操作,不僅對於Linux初學者有著重大意義,而且對於使用Linux伺服器的使用者來說尤為重要。

Linux時鐘的分類

Windows 時鐘大家可能十分熟悉了,Linux時鐘在概念上類似Windows時鐘顯示當前系統時間,但在時鐘分類和設定上卻和Windows大相徑庭。和 Windows不同的是,Linux將時鐘分為系統時鐘(System Clock)和硬體(Real Time Clock,簡稱RTC)時鐘兩種。系統時間是指當前Linux Kernel中的時鐘,而硬體時鐘則是主機板上由電池供電的那個主機板硬體時鐘,這個時鐘可以在BIOS的“Standard BIOS Feture”項中進行設定。

既然Linux有兩個時鐘系統,那麼大家所使用的Linux預設使用哪種時鐘系統呢?會不回出現兩種系統時鐘衝突的情況呢?這些疑問和擔心不無道理。首先,Linux並沒有預設哪個時鐘系統。當Linux啟動時,硬體時鐘會去讀取系統時鐘的設定,然後系統時鐘就會獨立於硬體運作。

從Linux啟動過程來看,系統時鐘和硬體時鐘不會發生衝突,但Linux中的所有命令 (包括函式)都是採用的系統時鐘設定。不僅如此,系統時鐘和硬體時鐘還可以採用非同步方式,見圖1所示,即系統時間和硬體時間可以不同。這樣做的好處對於普通使用者意義不大,但對於Linux網路管理員卻有很大的用處。例如,要將一個很大的網路中(跨越若干時區)的伺服器同步,假如位於美國紐約的Linux伺服器和北京的Linux伺服器,其中一臺伺服器無須改變硬體時鐘而只需臨時設定一個系統時間,如要將北京伺服器上的時間設定為紐約時間,兩臺伺服器完成檔案的同步後,再與原來的時鐘同步一下即可。這樣系統和硬體時鐘就提供了更為靈活的操作。

設定Linux的時鐘

在Linux中,用於時鐘檢視和設定的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只不過clock命令除了支援x86硬體體系外,還支援Alpha硬體體系。由於目前絕大多數使用者使用x86硬體體系,所以可以視這兩個命令為一個命令來學習。

1.在虛擬終端中使用date命令來檢視和設定系統時間
檢視系統時鐘的操作:
# date

設定系統時鐘的操作:
# date 091713272003.30

通用的設定格式:
# date 月日時分年.秒

2.使用hwclock或clock命令檢視和設定硬體時鐘
檢視硬體時鐘的操作:
# 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=“月/日/年 時:分:秒”。

3.同步系統時鐘和硬體時鐘

Linux系統(筆者使用的是Red Hat 8.0,其它系統沒有做過實驗)預設重啟後,硬體時鐘和系統時鐘同步。如果不大方便重新啟動的話(伺服器通常很少重啟),使用clock或hwclock命令來同步系統時鐘和硬體時鐘。

硬體時鐘與系統時鐘同步:
# hwclock --hctosys

或者
# clock --hctosys

上面命令中,--hctosys表示Hardware Clock to SYStem clock。

系統時鐘和硬體時鐘同步:
# hwclock --systohc

或者
# clock --systohc

使用圖形化系統設定工具設定時間

對於初學者來,筆者推薦使用圖形化的時鐘設定工具,如Red Hat 8.0中的日期與時間設定工具,可以在虛擬終端中鍵“redhat-config-time”命令,或者選擇“K選單/系統設定/日期與時間”來啟動日期時間設定工具。使用該工具不必考慮系統時間和硬體時間,只需從該對話方塊中設定日期時間,可同時設定、修改系統時鐘和硬體時鐘。

Internet同步時鐘設定

在Windows XP日期與時間設定中有一項與Internet同步的功能,有了這項功能只要上網便可得到十分準確的時間。Red Hat 8.0也提供了這樣的功能,在日期與時間設定工具對話方塊中的下部,有一個“啟用網路時間協議”的選項,將該項選中就可以使用網路時間協議來同步Linux 系統時鐘。選中該項後,其下面的伺服器下拉選單框就變為可用狀態,可從中選擇一個時間伺服器作為遠端時間伺服器。然後單擊確定按鈕,便可連線所設定的時間伺服器,並與之同步時間。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-941543/,如需轉載,請註明出處,否則將追究法律責任。

相關文章