RedHat 6* 修改系統時區解決

urgel_babay發表於2016-03-01
2014.12.12

     今天又被開發的說伺服器時間異常,時差很大。我就納悶了,上個星期都調整過的。
去檢視了一下。
[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
現在只是修改了時間,但是問題還沒有根本解決,我們要解決時區問題。
1、修改時區:
  1. [root@BIAPP ~]# tzselect
  2. Please identify a location so that time zone rules can be set correctly.
  3. Please select a continent or ocean.
  4.  1) Africa
  5.  2) Americas
  6.  3) Antarctica
  7.  4) Arctic Ocean
  8.  5) Asia
  9.  6) Atlantic Ocean
  10.  7) Australia
  11.  8) Europe
  12.  9) Indian Ocean
  13. 10) Pacific Ocean
  14. 11) none - I want to specify the time zone using the Posix TZ format.
  15. #? --- 亞洲的英文是Asia 別搞錯了啊。
  16. Please select a country.
  17.  1) Afghanistan 18) Israel 35) Palestine
  18.  2) Armenia 19) Japan 36) Philippines
  19.  3) Azerbaijan 20) Jordan 37) Qatar
  20.  4) Bahrain 21) Kazakhstan 38) Russia
  21.  5) Bangladesh 22) Korea (North) 39) Saudi Arabia
  22.  6) Bhutan 23) Korea (South) 40) Singapore
  23.  7) Brunei 24) Kuwait 41) Sri Lanka
  24.  8) Cambodia 25) Kyrgyzstan 42) Syria
  25.  9) China 26) Laos 43) Taiwan
  26. 10) Cyprus 27) Lebanon 44) Tajikistan
  27. 11) East Timor 28) Macau 45) Thailand
  28. 12) Georgia 29) Malaysia 46) Turkmenistan
  29. 13) Hong Kong 30) Mongolia 47) United Arab Emirates
  30. 14) India 31) Myanmar (Burma) 48) Uzbekistan
  31. 15) Indonesia 32) Nepal 49) Vietnam
  32. 16) Iran 33) Oman 50) Yemen
  33. 17) Iraq 34) Pakistan
  34. #? 9
  35. Please select one of the following time zone regions.
  36. 1) east China - Beijing, Guangdong, Shanghai, etc.
  37. 2) Heilongjiang (except Mohe), Jilin
  38. 3) central China - Sichuan, Yunnan, Guangxi, Shaanxi, Guizhou, etc.
  39. 4) most of Tibet & Xinjiang
  40. 5) west Tibet & Xinjiang
  41. #? 1

  42. The following information has been given:

  43.         China
  44.         east China - Beijing, Guangdong, Shanghai, etc.

  45. Therefore TZ=\'Asia/Shanghai\' will be used.
  46. Local time is now: Sat Dec 13 00:59:53 CST 2014.
  47. Universal Time is now: Fri Dec 12 16:59:53 UTC 2014.
  48. Is the above information OK?
  49. 1) Yes
  50. 2) No
  51. #? 1

  52. You can make this change permanent for yourself by appending the line
  53.         TZ=\'Asia/Shanghai\'; export TZ
  54. to the file \'.profile\' in your home directory; then log out and log in again.

  55. Here is that TZ value again, this time on standard output so that you
  56. can use the /usr/bin/tzselect command in shell scripts:
  57. Asia/Shanghai
  58. [root@bidevelop4 ~]#
  59. [root@BIAPP ~]# export TZ=\'Asia/Shanghai\'
  60.    ---這裡其實可以寫到.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 :將硬體時間寫入系統時間
這樣伺服器的硬體和系統時間全部都修改一致,同時修改了時區。我想應該不會出現之前的時差吧!

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

相關文章