同步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
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

posted on 2023-05-26 14:52  四海骄阳  阅读(100)  评论(0编辑  收藏  举报

导航