实验环境:
1.查看当前服务器时区&列出时区并设置时区(如已是正确时区,请略过):
# timedatectl # timedatectl list-timezones # timedatectl set-timezone Asia/Shanghai
2.时间时区概念理解:
GMT、UTC、CST、DST
UTC:
整个地球分为二十四时区,每个时区都有自己的本地时间,在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC:Universal Time Coordinated)。
GMT:
格林威治标准时间 (Greenwich Mean Time)指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线(UTC与GMT时间基本相同)。
CST:
中国标准时间 (China Standard Time)
GMT + 8 = UTC + 8 = CST
DST:
夏令时(Daylight Saving Time) 指在夏天太阳升起的比较早时,将时间拨快一小时,以提早日光的使用(中国不使用)。
2.使用 NTP 公共时间服务器池(NTP Public Pool Time Servers)http://www.pool.ntp.org 同步你的服务器时间。
查看是否安装:
# rpm -q ntp ntp-4.2.6p5-25.el7.centos.2.x86_64
如已安装请略过此步,否则请执行以下命令安装:
# yum install ntpdate ntp -y
修改NTP配置:
# vim /etc/ntp.conf
# For more information about this file, see the man pages
# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).
driftfile /var/lib/ntp/drift
#新增:日志目录.
logfile /var/log/ntpd.log
# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default nomodify notrap nopeer noquery
# Permit all access over the loopback interface. This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1
restrict ::1
#这一行的含义是授权所有机器可以从这台机器上查询和同步时间.
restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap
# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#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
#新增:时间服务器列表.
server 0.cn.pool.ntp.org iburst
server 1.cn.pool.ntp.org iburst
server 2.cn.pool.ntp.org iburst
server 3.cn.pool.ntp.org iburst
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server ntp3.aliyun.com iburst
server ntp4.aliyun.com iburst
server ntp5.aliyun.com iburst
server ntp6.aliyun.com iburst
server ntp7.aliyun.com iburst
#新增:当外部时间不可用时,使用本地时间193.168.151.6 为本机IP
#127.127.1.0 表示使用本机同步,必须是127.127.1.0!!!有坑
server 127.127.1.0
server 193.168.151.6 iburst
fudge 127.0.0.1 stratum 10
#broadcast 192.168.1.255 autokey # broadcast server
#broadcastclient # broadcast client
#broadcast 224.0.1.1 autokey # multicast server
#multicastclient 224.0.1.1 # multicast client
#manycastserver 239.255.254.254 # manycast server
#manycastclient 239.255.254.254 autokey # manycast client
#新增:允许上层时间服务器主动修改本机时间.
restrict 0.cn.pool.ntp.org nomodify notrap noquery
restrict 1.cn.pool.ntp.org nomodify notrap noquery
restrict 2.cn.pool.ntp.org nomodify notrap noquery
# Enable public key cryptography.
#crypto
includefile /etc/ntp/crypto/pw
# Key file containing the keys and key identifiers used when operating
# with symmetric key cryptography.
keys /etc/ntp/keys
# Specify the key identifiers which are trusted.
#trustedkey 4 8 42
# Specify the key identifier to use with the ntpdc utility.
#requestkey 8
# Specify the key identifier to use with the ntpq utility.
#controlkey 8
# Enable writing of statistics records.
#statistics clockstats cryptostats loopstats peerstats
# Disable the monitoring facility to prevent amplification attacks using ntpdc
# monlist command when default restrict does not include the noquery flag. See
# CVE-2013-5211 for more details.
# Note: Monitoring will not be disabled with the limited restriction flag.
disable monitor
3.设置系统开机自启动:
# systemctl enable ntpd # systemctl enable ntpdate # systemctl is-enabled ntpd
在ntpd服务启动时,先使用ntpdate命令同步时间:
# ntpdate -u 1.cn.pool.ntp.org
原因之一:当服务端与客户端之间的时间误差过大时,此时修改时间可能对系统或应用带来不可预知问题,NTP会停止时间同步。若检查NTP启动后时间未同步时,应考虑可能是时间误差过大所致,此时需要先手动进行时间同步。
启动NTP服务器:
# systemctl start ntpdate
# systemctl start ntpd
4.加入防火墙:
# firewall-cmd --permanent --add-service=ntp # firewall-cmd --reload
5.查看ntp连接状态如果没有问题
# ss -tlunp | grep ntp # ntpq -p
将正确时间写入硬件【虚拟机,ECS 可以不用写入到硬件】
# hwclock -w
6.客户端:
以crontab任务计划同步时间(需安装ntpdate,每天24点更新同步时间):
[root@ecs-8611-0002 ~]# crontab -e
#ntp 时间同步
* */2 * * * /usr/sbin/ntpdate 193.168.151.6 > /dev/null 2>&1
#手动同步下,验证下时间是否同步过来
[root@ecs-8611-0002 ~]# /usr/sbin/ntpdate 193.168.151.6 > /dev/null 2>&1
[root@ecs-8611-0002 ~]# date
Wed May 12 10:31:36 CST 2021
或者 使用chrony 来同步时间
一、编辑本地时间同步服务器地址
vim /etc/chrony.conf
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server ntp3.aliyun.com iburst
server ntp4.aliyun.com iburst
server ntp5.aliyun.com iburst
server ntp6.aliyun.com iburst
server ntp7.aliyun.com iburst
systemctl start chronyd
systemctl enable chronyd
二、设置时区:
timedatectl set-timezone Asia/Shanghai
(date -s “YYYY-MM-DD HH:MM:SS”)手动设置时间
暂无评论内容