同步Linux服务器时间
Posted 四海骄阳
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了同步Linux服务器时间相关的知识,希望对你有一定的参考价值。
00 12 * * * /usr/sbin/ntpdate 172.17.14.50
https://www.jianshu.com/p/542439e7feb4
https://www.cnblogs.com/pipci/p/12844550.html
二、不同机器之间的时间同步
为了避免主机时间因为长期运行下所导致的时间偏差,进行时间同步(synchronize)的工作是非常必要的。Linux系统下,一般使用ntp服务器来同步不同机器的时间。一台机器,可以同时是ntp服务端和ntp客户端。在生产系统中,推荐使用像DNS服务器一样分层的时间服务器来同步时间。
不同机器间同步时间,可以使用ntpdate命令(立即同步),也可以使用ntpd服务(缓慢同步)。
1、ntpdate命令
如果系统里没有这个命令,表示没有安装相应的程序:通过下面命令安装:
-------------------------------------------
[root@CentOS7 ~]# yum install ntpdate ##CentOS6 或7 系统
-------------------------------------------
使用ntpdate比较简单。格式如下:
---------------------------------------------
1 root@debian:~# ntpdate [NTP IP/hostname]
2 root@debian:~# ntpdate 192.168.0.1
3 root@debian:~# ntpdate time.ntp.org
---------------------------------------------
注意:如果此时ntpd服务已经启动,端口会被ntpd服务端占用,此时ntpdate命令就不能手动同步时间了
但这样的同步,只是强制性的将系统时间与ntp服务器时间同步,机器的硬件时间不会同步,如果希望硬件时间和同步完的系统时间一直,可以通过hwclock -w将硬件时间与系统时间同步,
但是,如果CPU Tick有问题,只是治标不治本。所以,一般配合linux定时任务 Cron,来进行定期同步设置。比如,在crontab中添加:
---------------------------------------------
0 12 * * * /usr/sbin/ntpdate 192.168.0.1
这样,会在每天的12点整,同步一次时间。ntp服务器为192.168.0.1。
---------------------------------------------
或者将下列脚本添加到/etc/cron.hourly/,这样就每小时会执行一次同步:
---------------------------------------------
#!/bin/bash
#
# $Id: sync-clock,v 1.6 2009/12/23 15:41:29 jmates Exp $
#
# Use ntpdate to get rough clock sync with department of Genome Sciences
# time server.
NTPDATE=/usr/sbin/ntpdate
SERVER="192.168.0.1 "
# if running from cron (no tty available), sleep a bit to space
# out update requests to avoid slamming a server at a particular time
if ! test -t 0; then
MYRAND=$RANDOM
MYRAND=$MYRAND:=$$
if [ $MYRAND -gt 9 ]; then
sleep `echo $MYRAND | sed \'s/.*\\(..\\)$/\\1/\' | sed \'s/^0//\'`
fi
fi
$NTPDATE -su $SERVER
# update hardware clock on Linux (RedHat?) systems
if [ -f /sbin/hwclock ]; then
/sbin/hwclock --systohc
---------------------------------------------
1、安装ntpdate,执行以下命令
# yum install ntpdate -y
2、手动同步时间,执行以下命令,将从ntp1.aliyun.com同步时间
# ntpdate ntp1.aliyun.com
3、设置定时计划任务
# echo " */3 * * * * /usr/sbin/ntpdate -u ntp1.aliyun.com > /dev/null 2>&1 " >> /var/spool/cron/root
4、使用date命令查看当前时间
# date
Mon May 11 09:43:50 CST 2020
5、系统时间同步到硬件,防止系统重启后时间被还原
# hwclock --systohc
作者:zmquan
链接:https://www.jianshu.com/p/542439e7feb4
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Linux 时间同步
今天我们要做的呢就是Linux的服务器时间同步,有的同学可能要问了,做啥子时间同步啊,我连上网不就同步了,可是事实并非如此哦!有的服务器没有配置时间的时候跟现在的时间相差好多呢。
而且今天我要讲的不仅仅是一台服务器的时间同步,这就太low了,今天我要说的呢是:
一台服务器同步北京授时中心的时间,另一台服务器同步这台服务器的时间(多台亦是如此)!废话不多说,直接上配置代码!!!
一、主服务器同步中国授时中心时间
(本机IP:192.168.0.224 )
当然首先两台服务器必须安装有ntp,不会安装的百度或谷歌就OK了。
打开配置文件:/etc/ntp.conf添加如下配置(如果原来有不用动)
driftfile /var/lib/ntp/drift 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 3 includefile /etc/ntp/crypto/pw keys /etc/ntp/keys restrict 192.168.0.60 mask 255.255.255.0 nomodify #这里的IP配置成另一台服务器的 server 210.168.0.24 perfer
这样既配置了可以同步北京时间,又允许另一台服务器同步你的时间
二、同步上一台服务器时间(本机IP:192.168.0.60)
driftfile /var/lib/ntp/drift server 192.168.0.224 #配置成上一台的IP includefile /etc/ntp/crypto/pw keys /etc/ntp/keys
这样就大功告成了
注意:在做这些之前记得先把时间校准,时间相差太大不会同步过来!!!
三、验证
如何验证呢:我们在Linux里输入ntpstat出现下面的:
synchronised to NTP server (204.2.134.164) at stratum 3 time correct to within 799 ms polling server every 64 s
表示和北京时间正在同步。
另一台服务器出现:
synchronised to NTP server (192.168.0.224) at stratum 3 time correct to within 799 ms polling server every 64 s
证明同步成功!
四:测试说明
我们可以在主服务器修改两分钟,经测试两分钟同步需要30分钟左右,挺慢的,我们可以耐心等待。
如果修改后没有同步,先手动同步试试,先关闭防火墙,然后看看是不是端口的事,逐步排查吧!
生活是一场持久战,我们没有任何喘息的机会,但只要还在坚持就已经赢了很多人了。
一起加油吧,因为想买的东西还有很多。
以上是关于同步Linux服务器时间的主要内容,如果未能解决你的问题,请参考以下文章