Linux服务器运行久时,系统时间就会存在一定的误差,一般情况下可以使用date命令进行时间设置,但在做数据库集群分片等操作时对多台机器的时间差是有要求的,此时就需要使用ntpdate进行时间同步
yum install ntpdate -y
ntpdate简单用法:
ntpdate ip
ntpdate 210.72.145.44
[root@summer test]# ntpdate -u ntp.api.bz
18 Nov 17:16:26 ntpdate[4234]: adjust time server 114.118.7.163 offset -0.000128 sec
[root@summer test]#
注意:若不加上-u参数, 会出现以下提示:no server suitable for synchronization found
中国国家授时中心:210.72.145.44 NTP服务器(上海) :ntp.api.bz 美国:time.nist.gov 复旦:ntp.fudan.edu.cn 微软公司授时主机(美国) :time.windows.com 台警大授时中心(台湾):asia.pool.ntp.org
中国国家授时中心与NTP上海服务器可以正常同步时间,注意需要加上-u参数!
ntpdate -u ntp.api.bz
ntpdate -u 210.72.145.44
echo "*/20 * * * * /usr/sbin/ntpdate -u ntp.api.bz >/dev/null &" >> /var/spool/cron/root
一般生产环境会提供一个时间校准服务IP地址 然后其他各服务器去NTP同步,这里介绍以其中一个服务器为基准,然后另外其他服务器都去同步该台服务器的时间从而实现所有服务器时间都一致
rpm -qa | grep ntp \\查看服务器是否安装ntp,一般系统默认安装ntpdate
vim /etc/ntp.conf
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
为restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
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.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 127.127.1.0
fudge 127.127.1.0 stratum 10
vim /etc/sysconfig/ntpd
增加内容如下(让硬件时间与系统时间一起同步)
SYNC_HWCLOCK=yes
systemctl restart ntpd
systemctl enable ntpd \\设置ntpd服务开机启动
systemctl status ntpd \\查看状态
crontab -e
编写定时任务如下:
*/10 * * * * /usr/sbin/ntpdate 主IP
date