以前一直用date設置,這次參考網上資料,終於整了個全的。
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、時區的設置
# tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent or ocean.
1) Africa
2) Americas
3) Antarctica
4) Arctic Ocean
5) Asia
6) Atlantic Ocean
7) Australia
8) Europe
9) Indian Ocean
10) Pacific Ocean
11) none - I want to specify the time zone using the Posix TZ format.
#? 輸入5,亞洲
Please select a country.
1) Afghanistan 18) Israel 35) Palestine
2) Armenia 19) Japan 36) Philippines
3) Azerbaijan 20) Jordan 37) Qatar
4) Bahrain 21) Kazakhstan 38) Russia
5) Bangladesh 22) Korea (North) 39) Saudi Arabia
6) Bhutan 23) Korea (South) 40) Singapore
7) Brunei 24) Kuwait 41) Sri Lanka
8) Cambodia 25) Kyrgyzstan 42) Syria
9) China 26) Laos 43) Taiwan
10) Cyprus 27) Lebanon 44) Tajikistan
11) East Timor 28) Macau 45) Thailand
12) Georgia 29) Malaysia 46) Turkmenistan
13) Hong Kong 30) Mongolia 47) United Arab Emirates
14) India 31) Myanmar (Burma) 48) Uzbekistan
15) Indonesia 32) Nepal 49) Vietnam
16) Iran 33) Oman 50) Yemen
17) Iraq 34) Pakistan
#? 輸入9,中國
Please select one of the following time zone regions.
1) east China - Beijing, Guangdong, Shanghai, etc.
2) Heilongjiang
3) central China - Gansu, Guizhou, Sichuan, Yunnan, etc.
4) Tibet & most of Xinjiang Uyghur
5) southwest Xinjiang Uyghur
#? 輸入1,北京時間
The following information has been given:
China
east China - Beijing, Guangdong, Shanghai, etc.
Therefore TZ='Asia/Shanghai' will be used.
Local time is now: Fri Jul 7 10:32:18 CST 2006.
Universal Time is now: Fri Jul 7 02:32:18 UTC 2006.
Is the above information OK?
1) Yes
2) No
#? 輸入1,確認
如果不用tzselect命令,可以修改文件變更時區。
# vi /etc/sysconfig/clock
ZONE=Asia/Shanghai(查/usr/share/zoneinfo下面的文件)
UTC=false
ARC=false
# rm /etc/localtime
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
重新啟動即可。
Linux如何修改系統時間和時區方法補充:
修改時區:
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
修改日期時間:
1>
用date修改日期時間
#date -s 08/24/2006
#date -s 13:02:00
2>
同步BIOS時鐘,強制把系統時間寫入CMOS
#clock -w
另外,查看Bois時間用 #hwclock -r
#tzselect 可以交互式修改時區
Linux修改系統時區
1. 查看當前時區
# vi /etc/sysconfig/clock
2. 修改設置時區
方法(1) # tzselect 方法(2 僅限於RedHat Linux 和 CentOS) # timeconfig
3. 復制相應的時區文件,替換系統默認時區
# cp /usr/share/zoneinfo/$主時區/$次時區 /etc/localtime 對於中國服務器則執行: # cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
4. 將當前時間寫入BIOS永久生效(避免重啟後失效)
# hwclock