RedHat 6* 修改系統時區解決

  今天又被開發的說服務器時間異常,時差很大。我就納悶了,上個星期都調整過的。
  去查看了一下。
  [root@BIAPP default]# date -R
  Fu, 11 Dec 2014 02:26:08 -0500
  跟當前的時間大概相差13個小時。於是我就手動的修改了時間:
  # date -s "2014-12-12 11:30:00"   ---- 今天是雙十二
  # clock -w      ----修改完後,記得輸入,這是修改到系統時間
  但是我上次也是這樣修改的。那麼過段時間肯定又會出現時差,所以得找出真正的原因,問了一個老系統工程師才知道其中的原因。
  看見上面紅色的-0500 嗎?它應該是美國地區的,西-5時區。
  而我們中國一般設置的都是以東時區,Linux裏面一般出現的有:北京,上海,香港 。舉例上海的就是+0800
  [root@BIAPP ~]# date -R
  Fri, 12 Dec 2014 11:31:20 +0800
  現在只是修改了時間,但是問題還沒有根本解決,我們要解決時區問題。
[root@BIAPP ~]# 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  --- 亞洲的英文是Asia 別搞錯了啊。
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 (except Mohe), Jilin
3) central China - Sichuan, Yunnan, Guangxi, Shaanxi, Guizhou, etc.
4) most of Tibet & Xinjiang
5) west Tibet & Xinjiang
#? 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: Sat Dec 13 00:59:53 CST 2014.
Universal Time is now: Fri Dec 12 16:59:53 UTC 2014.
Is the above information OK?
1) Yes
2) No
#? 1
You can make this change permanent for yourself by appending the line
TZ=\'Asia/Shanghai\'; export TZ
to the file \'.profile\' in your home directory; then log out and log in again.
Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
Asia/Shanghai
[root@bidevelop4 ~]#
[root@BIAPP ~]# export TZ=\'Asia/Shanghai\'
 --這裏其實可以寫到.bash_profile裏面
  上面的提示已經很清楚了,不需要我多解釋了。
  不過我發現,修改了之後,還有不能生效,因爲只是改了時區,服務器分爲硬件時間和系統時間。所以設定了時區,還要確定Linux的時間方案。
  學習一下:
  Linux支持UTC時間,Coordinated Universal Time,也就是世界協調時,也就是本初子午線上的時間,它和以前的格林威治標準時(GMT)的區別似乎是它是由多個原子鐘平均出來的。在 /etc/default/rcS這個文件中,設定了系統是否使用UTC,UTC=yes就是用。
  計算機自己還有自己的時間,也就是硬件時間,hard clock,也就是存在BIOS裏那個時間,關機也不會丟失。
  計算機啓動時,就要讀取這個時間。這個時間如果設定爲UTC(GMT),也就是倫敦那地方的時間,就要在rcS文件中設定UTC=yes,反之則要設爲no。
  一般來講,BIOS裏面都設定爲當地時間,這是因爲如果裝雙系統的話,Windows似乎不懂UTC,就會出問題。這時UTC=no。
  (a).網上說法:時區的配置,主要是兩個文件:
  /etc/localtime
  /etc/timezone
  timezone這個文件是個文本,裏面只需要寫一行自己的時區就行,我們這裏就是上海(Asia/Shanghai)
  localtime這個文件的類型不清楚,裏面就寫了些timezone data,它可以從系統自帶時區文件那裏拷貝,位置在:/usr/share/zoneinfo
  從這個目錄下找到Shanghai拷貝到/etc下的localtime即可,同樣也可以做個聯接,也是同樣效果
  (b).網上說法:修改時間的配置文件時/etc/default/rcS
  但是我在我的系統裏面沒有找到這個文件。
  2、修改時間
  修改好了時區後,我們可以手動的修改時間,或者可以做一個時間同步:
  [root@BIAPP ~]#  /usr/sbin/ntpdate pool.ntp.org   ---- 這是和中國國家授時中心同步
  最好是做一個自動任務,每天凌晨自動做一次同步。
  我這裏在同步了時間之後,先查看硬件時間是否正確,如果不正確就修改硬件時間。
  Linux讀取這個硬件時間要用到hwclock這個命令:
  hwclock --show :顯示硬件時間
  hwclock --systohc :將系統時間寫入硬件
  hwclock --hctosys :將硬件時間寫入系統時間
  這樣服務器的硬件和系統時間全部都修改一致,同時修改了時區。我想應該不會出現之前的時差吧!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章