以前一直用date設(shè)置,這次參考網(wǎng)上資料,終于整了個(gè)全的。
Linux時(shí)鐘分為系統(tǒng)時(shí)鐘(System Clock)和硬件(Real Time Clock,簡(jiǎn)稱RTC)時(shí)鐘。系統(tǒng)時(shí)鐘是指當(dāng)前Linux Kernel中的時(shí)鐘,而硬件時(shí)鐘則是主板上由電池供電的時(shí)鐘,這個(gè)硬件時(shí)鐘可以在BIOS中進(jìn)行設(shè)置。當(dāng)Linux啟動(dòng)時(shí),硬件時(shí)鐘會(huì)去讀取系統(tǒng)時(shí)鐘的設(shè)置,然后系統(tǒng)時(shí)鐘就會(huì)獨(dú)立于硬件運(yùn)作。
Linux中的所有命令 (包括函數(shù))都是采用的系統(tǒng)時(shí)鐘設(shè)置。在Linux中,用于時(shí)鐘查看和設(shè)置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只不過clock命令除了支持x86硬件體系外,還支持Alpha硬件體系。
1、date
查看系統(tǒng)時(shí)間
# date
設(shè)置系統(tǒng)時(shí)間
# date --set “07/07/06 10:19" (月/日/年 時(shí):分:秒)
2、hwclock/clock
查看硬件時(shí)間
# hwclock --show
# clock --show
設(shè)置硬件時(shí)間
# hwclock --set --date="07/07/06 10:19" (月/日/年 時(shí):分:秒)
# clock --set --date="07/07/06 10:19" (月/日/年 時(shí):分:秒)
3、硬件時(shí)間和系統(tǒng)時(shí)間的同步
按照前面的說法,重新啟動(dòng)系統(tǒng),硬件時(shí)間會(huì)讀取系統(tǒng)時(shí)間,實(shí)現(xiàn)同步,但是在不重新啟動(dòng)的時(shí)候,需要用hwclock或clock命令實(shí)現(xiàn)同步。
硬件時(shí)鐘與系統(tǒng)時(shí)鐘同步:
# hwclock --hctosys(hc代表硬件時(shí)間,sys代表系統(tǒng)時(shí)間)
或者
# clock --hctosys
系統(tǒng)時(shí)鐘和硬件時(shí)鐘同步:
# hwclock --systohc
或者
# clock --systohc
4、時(shí)區(qū)的設(shè)置
# 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,中國(guó)
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,北京時(shí)間
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,確認(rèn)
如果不用tzselect命令,可以修改文件變更時(shí)區(qū)。
# 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
重新啟動(dòng)即可。
Linux如何修改系統(tǒng)時(shí)間和時(shí)區(qū)方法補(bǔ)充:
修改時(shí)區(qū):
1>
找到相應(yīng)的時(shí)區(qū)文件 /usr/share/zoneinfo/Asia/Shanghai
用這個(gè)文件替換當(dāng)前的/etc/localtime文件。
或者找你認(rèn)為是標(biāo)準(zhǔn)時(shí)間的服務(wù)器,然后
#scp root@xxx.xxx.xxx.xxx:/etc/localtime /etc/localtime
2>
修改/etc/sysconfig/clock文件,修改為:
ZONE="Asia/Shanghai"
UTC=false
ARC=false
修改日期時(shí)間:
1>
用date修改日期時(shí)間
#date -s 08/24/2006
#date -s 13:02:00
2>
同步BIOS時(shí)鐘,強(qiáng)制把系統(tǒng)時(shí)間寫入CMOS
#clock -w
另外,查看Bois時(shí)間用 #hwclock -r
#tzselect 可以交互式修改時(shí)區(qū)
Linux修改系統(tǒng)時(shí)區(qū)
1. 查看當(dāng)前時(shí)區(qū)
# vi /etc/sysconfig/clock
2. 修改設(shè)置時(shí)區(qū)
方法(1) # tzselect 方法(2 僅限于RedHat Linux 和 CentOS) # timeconfig
3. 復(fù)制相應(yīng)的時(shí)區(qū)文件,替換系統(tǒng)默認(rèn)時(shí)區(qū)
# cp /usr/share/zoneinfo/$主時(shí)區(qū)/$次時(shí)區(qū) /etc/localtime 對(duì)于中國(guó)服務(wù)器則執(zhí)行: # cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
4. 將當(dāng)前時(shí)間寫入BIOS永久生效(避免重啟后失效)
# hwclock