Linux系统时间同步

Linux系统时间同步

文章目录

一、第一步:搭建用于时间同步的服务器

在一台时间比较准确的服务器上,启动ntpd服务,比如这台时间比较精确的服务ip为11.225.118.166

1.1 先安装npt模块:sudo yum -y install ntp

1.2 写配置文件/etc/npt.conf

sudo vi /etc/npt.conf

driftfile /var/lib/ntp/drift

restrict default nomodify notrap nopeer noquery

restrict 127.0.0.1

#  10.114.57.0 代表允许时间同步的服务器ip
restrict 10.114.57.0 mask 255.255.255.0 nomodify notrap
server 127.127.1.0

includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys

disable monitor
tinker panic 0

1.3 启动ntp服务

-- 查看状态
sudo systemctl status ntpd
-- 启动nptd
sudo systemctl start ntpd

二、第二步:在需要同步时间服务器上进行时间同步

该需要时间同步的服务ip应该以10.114.57开头。

2.1 执行同步命令

sudo ntpdate 11.225.118.166
-- 或者
sudo /usr/sbin/ntpdate 11.225.118.166

2.2 执行命令的时候遇到的一个问题

遇到的一个问题描述如下:

20 Jan 10:16:31 ntpdate[95320]: the NTP socket is in use,exiting

解决方案:

sudo lsof -i:123

sudo kill -9 进程id

然后继续执行同步命令

2.3 将时间同步部署成定时任务

crontab -e

# 同步时间,每隔十五分钟同步一次
*/15 * * * * bash /root/importShells/run_sync_time.sh

/root/importShells/run_sync_time.sh 内容如下:

#!/bin/bash

current_month=$(date "+%Y%m")
current_day=$(date "+%Y%m%d")

logfilename=sync_time_${current_day}.log
mkdir -p /root/importShells/logs/${current_month}

log_file_path=/root/importShells/logs/${current_month}/${logfilename}

bash /root/importShells/time_sync.sh 1>>${log_file_path} 2>>${log_file_path}

/root/importShells/time_sync.sh的内容如下:

#!/bin/bash

/usr/sbin/ntpdate 11.225.118.166
    原文作者:鲲鹏飞九万里
    原文地址: https://blog.csdn.net/hefrankeleyn/article/details/122634985
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞