Linux同步时间的方法

您所在的位置:网站首页 linux时间服务器命令 Linux同步时间的方法

Linux同步时间的方法

2024-01-18 00:30| 来源: 网络整理| 查看: 265

方法一:非生产时使用

第一种是在所有机器上,使用连接工具的并发命令功能,同时运行修改时间命令,比如执行date -s “2019-05-25 17:00:00” ,这个方法适合自己测试环境用

第二种就是安装了一个ntpdate命令,然后同步时间的master是一个所有人都可以用的master

安装工具 yum -y install ntp ntpdate 同步网络时间 ntpdate cn.pool.ntp.org 方法二:NTP服务

使用ntpd server,为多台机器同步时间,这里以三台机器为例

第一步:在三台机器上运行ntpdate命令,验证是否安装有ntpdate,如果没有运行yum -y install ntp安装该服务

第二步:选出一台机器,做master,编辑它的/etc/ntp.conf文件

进入配置文件之后,首先将配置文件中所有的restrict开头的行注释掉,如下面这种 在这里插入图片描述 其后另写一条生效的服务配置

restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap 格式:restrict 允许的ip范围一般默认就行 mask 允许同步的网段子网掩码 nomodify notrap

将所有server开头的行全部注释,添加如下的新信息

server 127.127.1.0 fudge 127.127.1.0 stratum 10

第三步:master启动ntp服务并开机自启

service ntpd restart chkconfig ntpd on

第四步:所有子节点运行命令,同步master的时间。

ntpdate master节点ip 如果子节点运行命令之后,如果提示no server那就等两分钟左右在在运行 如果提示`the NTP socket is in use, exiting`说明当前子节点的ntp服务启动了,你要关掉它

第五步:让集群自己同步时间,有两种方式

第一种方式:通过crontab来完成同步,推荐这种,容易控制时间同步频率 所有子节点配置定时任务,半分钟同步一次,命令如下: crontab -e 上面的命令会打开linux自带的定时任务列表在其中添加如下一条信息: 30 * * * * /usr/sbin/ntpdate master的ip或域名 >> /root/ntpdate.log 2>&1 后期需要观察一下/root/ntpdate.log中有没有定时同步时间的运行日志

说明一下:30 * * * * 代表了五个时间占位符,上面写的代表30分钟同步一次,你可以自己改,五个站位符号按顺序分别为分、时、日、月、天

* * * * * | | | | | | | | | +----- 星期中星期几 (0 - 6) (星期天 为0) | | | +---------- 月份 (1 - 12) | | +--------------- 一个月中的第几天 (1 - 31) | +-------------------- 小时 (0 - 23) +------------------------- 一小时中的某分钟 (0 - 59) 一般情况下直接指定数字就够了,但是它可以指定表达式来完成更多变的事件指定,表达式很简单,网上搜索案例就行了 第二种方式:依赖于ntp服务 所有子节点同样配置/etc/ntp.conf文件,不过不需要master那样麻烦,只需要注释所有restrict和server配置,添加“server master节点ip”即可,最后保证所有节点启动并设置开机自启ntp服务 但是这个方法推荐,有时候不一定灵不灵,而且无法灵活的控制频率 方法三:chrony 不推荐用

a) 所有节点,执行rpm -qa | grep chrony检查是否已经安装chrony,若没有执行yum -y install chrony安装

b) vi /etc/chrony.conf修改如下 在这里插入图片描述 c) scp命令分发各节点,同步各节点的chrony.conf配置

d) 启动chrony服务并设为开机启动

systemctl enable chronyd.service systemctl start chronyd.service systemctl status chronyd.service

e) 查看时间同步源:chronyc sources -v 在这里插入图片描述 f) 查看时间同步源状态:chronyc sourcestats -v 在这里插入图片描述 g) 检查是否已经同步过:timedatectl(NTP synchronized) 在这里插入图片描述

之所以不推荐使用改服务,是因为它的运行需要时区的设置,默认的时区不是中国时区,可是想改时区特别麻烦,多数时候改了之后无效,作者本人之前用的时候是将系统时区,再到服务时区全部改了才生效的,中间折腾了很久,所以用过一次以后再也不用这个服务了

先改服务时区: timedatectl status timedatectl list-timezones timedatectl set-timezone "Asia/Shanghai" chronyc -a makestep -------------------------------------------- 后改系统时区: 先查看服务器时区用的那个 ls -l /etc/localtime 如果要修改运行 tzselect 命令 之后依次选择 Asia -> Shanghai 设置完还没完,要手动更改时区文件 rm -rf /etc/localtime ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3