一。查看配置
查看时区列表: timedatectl list-timezones|grep Asia
查看当前时间: date
查看当前设置:
[root@localhost ~]# timedatectl
Local time: Mon 2017-10-09 16:44:08 CST
Universal time: Mon 2017-10-09 08:44:08 UTC
RTC time: Mon 2017-10-09 08:44:08
Time zone: Asia/Shanghai (CST, +0800) #已设置为上海时区
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
二。进行配置
部署ntp服务端 yum install ntp -y
编辑ntp的配置文件vi /etc/ntp.conf (日志文件默认在/var/log/messages中),添加以下几个服务器域名,有些服务默认自带,无需添加一下参数
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
设置中国时区: timedatectl set-timezone Asia/Shanghai #执行完后时间还需要重启ntpd服务
systemctl restart ntpd
systemctl enable ntpd
到这里就配置好了,需要注意的是。执行完一下命令后并不是立刻就改好时间了,大概需要半分钟才能生效
补充:
为了让效果更明显,把服务器修改为纽约时区,另一台需要同步的linux客户端的时区修改为非洲时间,结果导致,客户端ntpdate之后没有同步,后来才发现,需要在同一时区内才能同步时间,也就是说,服务端和客户端的时区必须在中国这个时区内才可以
下面来测试我们的ntp服务器配置有没有成功
在服务器端(ip:10.0.3.66)上
使用date -s 23:30:30 (时间可以随便改,反正改一个跟客户端时间不一样的就可以了),然后date可以看到时间变成了23:30:30
在客户端上
ntpdate 10.0.3.66 执行后发现,时间也变成了23:30:30
如果时间没有同步或报错,可以试着把防火墙关掉
让人无语的是我在centos6.5的最小化安装的系统上,timedatectl命令用不了,也不知道怎么安装,但是又想看一下当前系统的时区是哪个,有没有配置正常?对于这种情况,我们可以简单的使用date -R来查看时区,当然这样看到的时区是数字时区,而不是英文时区。如果你初中的地理课没白上,就应该记得北京时间是东八区的时间,看到后面是+0800就表示当前系统时区是东八区时间
那么问题又来了,我们又该如何设置系统时区为东八区呢?
执行命令cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime ,执行完这条命令后,就设置好时区了
再date -R查看时区,可以看到时区恢复正常
[root@localhost ~]# date
Mon Oct 16 21:59:20 EDT 2017
[root@localhost ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
cp: overwrite `/etc/localtime'? y
[root@localhost ~]# date
Tue Oct 17 09:59:41 CST 2017
[root@localhost ~]# date -R
Tue, 17 Oct 2017 09:59:45 +0800
[root@localhost ~]#
启动ntp服务,如果date没有显示正常,那么再重启ntp服务应该就可以了