同步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服务器时间的主要内容,如果未能解决你的问题,请参考以下文章

Linux 时间同步

linux设置ntp时间同步

linux设置ntp时间同步

小凡的Linux主机与时间服务器同步记录

Linux系统之时间同步方法

Linux配置自动时间同步