本文主要介绍了Linux中的时间、时区以及时间同步问题。

本文的适应范围:Red Hat/CentOS Linux操作系统

时间同步不是时钟同步,时钟不同步会导致通信(数据传输)失败;不同系统之间时间的不同步可能导致Samba、FTP等服务发生不可预料错误或故障,同时可以免于恶毒或恶意软件的***。

Network Time Protocol(NTP)是用来使计算机时间与Inter标准时间进行同步的一种协议,它可以使计算机对其服务器或时钟源做同步,以提供高精准度的时间校正,详情请参考:http://www.ntp.org/

一般来说,在安装系统时,系统就会提示是否配置Internet时间同步,在这里我建议选中。以方便后期的配置。


查看时间同步守护进程是否在运行:

  1. [gdd@localhost ~]$ su -c 'service --status-all | grep ntpd' 
  2. Password: 
  3. ntpd (pid  2348) is running... 
  4. [gdd@localhost ~]$  


如果没有运行,则使用chkconfig命令或者ntsysv命令激活ntpd。

!!!:部分指令可能需要root权限。

  1. [gdd@localhost ~]$ chkconfig --list | grep ntpd 
  2. ntpd               0:off    1:off    2:on    3:on    4:on    5:on    6:off 
  3. ntpdate            0:off    1:off    2:off    3:off    4:off    5:off    6:off 
  4. [gdd@localhost ~]$  

如何设置时区:

  1. [gdd@localhost ~]$ ls /usr/share/zoneinfo/Asia/ 
  2. Aden       Choibalsan   Irkutsk       Macao         Rangoon    Thimbu 
  3. Almaty     Chongqing    Istanbul      Macau         Riyadh     Thimphu 
  4. Amman      Chungking    Jakarta       Magadan       Riyadh87   Tokyo 
  5. Anadyr     Colombo      Jayapura      Makassar      Riyadh88   Ujung_Pandang 
  6. Aqtau      Dacca        Jerusalem     Manila        Riyadh89   Ulaanbaatar 
  7. Aqtobe     Damascus     Kabul         Muscat        Saigon     Ulan_Bator 
  8. Ashgabat   Dhaka        Kamchatka     Nicosia       Sakhalin   Urumqi 
  9. Ashkhabad  Dili         Karachi       Novokuznetsk  Samarkand  Vientiane 
  10. Baghdad    Dubai        Kashgar       Novosibirsk   Seoul      Vladivostok 
  11. Bahrain    Dushanbe     Kathmandu     Omsk          Shanghai   Yakutsk 
  12. Baku       Gaza         Katmandu      Oral          Singapore  Yekaterinburg 
  13. Bangkok    Harbin       Kolkata       Phnom_Penh    Taipei     Yerevan 
  14. Beirut     Hebron       Krasnoyarsk   Pontianak     Tashkent 
  15. Bishkek    Ho_Chi_Minh  Kuala_Lumpur  Pyongyang     Tbilisi 
  16. Brunei     Hong_Kong    Kuching       Qatar         Tehran 
  17. Calcutta   Hovd         Kuwait        Qyzylorda     Tel_Aviv 
  18.  
  19. [gdd@localhost ~]$ ls /usr/share/zoneinfo/Asia/Shanghai  #假设你是位于中国的服务器用户则请使用上海时区
  20. /usr/share/zoneinfo/Asia/Shanghai 
  21. [gdd@localhost ~]$  
  1. [gdd@localhost ~]$ ls /etc/localtime  
  2. /etc/localtime 
  3. [gdd@localhost ~]$  

按照我先前的提议进行配置之后,如果你查看/usr/share/zoneinfo/Asia/Shanghai 和/etc/localtime,你就会惊奇的发现两者的内容完全相同。 

这样更改时区就很方便了,只要简单的执行

  1. # cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime  

然后,按y确认覆盖即可。

注销系统或者重新启动之后生效。