设置linux服务器定时与时间服务器同步

在一些大公司经常出现这样一个情况:公司或一些机关单位的内部业务系统的应用服务器以及数据都是做的多机集群部署而且基本都是linux系统,而且都是内部网,不与外网通讯的。这样经常就会出现一个情况,我发送任务的时间还晚于对方任务接收的时间。这样经常令我们头痛,那为什么会出现这样一个情况呢,其实就是linux机器的系统没有定时同步导致的,这个问题不仅linux系统有,windows系统也会出现这样的问题,比如我们的windows系统很久没开过机了,那么我们就会发现windows系统上的时间不对了,但是为什么我们常使用的windows系统就不会时间不一致呢,因为我们的windows系统会自动定时的与远程标准的时间服务器同步时间,对出现的时间误差进行校准。

  但是这里我们说了,是内网的linux系统,不能与外界互联网通讯而且linux因为其开放性的原因也有一个弊端,很多东西都没有设置死,只能自己去设置,尤其是黑乎乎的命令行系统。

这里教大家一个方法就是设置linux自动定时的与某一个内部时间服务器同步,这样就可以保证多台机器的时间始终一致。这里主要有两个问题:

1.如何实现与指定时间服务器同步,进行时间校准?

2.怎样实现linux系统服务级的定时执行?

好吧,下面依次解决这两个问题就好了。首先假设我们的时间服务器的ip地址为192.168.1.10。

1.时间同步我们用命令ntpdate,这个命令具体用法以后我的博客会专门讲到这个问题,也可以查看命令帮助。这里先直接使用即可:

ntpdate -u 192.168.1.10

这样就可以与192.168.1.10的时间服务器同步了。

2.怎样实现定时执行。这里主要都是用到/etc/crontab实现定时。这个文件是linux的系统定时调度文件,在系统启动后会加载这个文件。先看下这个文件:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  *  command to be executed

~
~
~
~
看看这个文件,前面四行可以忽略不管。其实这个有个例子在这里了,非常容易看懂,关键就是这一行:
*  *  *  *  *  command to be executed第一个*表示分钟,第二个*表示小时,第三个*表示一个月的那一天,第四个*表示月份,第五个*表示一周的那一天。其中要表示任何一个都可以就直接用*表示。前面五个位置以后就表示要执行的命令和参数。所以定时执行已经掌握了,那么我们定时时间同步校准应该怎样呢。

首先进入/etc/crontab文件
vim  /etc/crontab

插入一行定时执行同步代码,假设我们每天凌晨1点执行一次时间同步。即如下代码:

00 1 * * * root  ntpdate -u 192.168.1.10

这样我们就设置好了linux服务器定时与时间服务器同步校准时间的任务了。bingo!是不是很简单呢

如果有时间的话,以后会写一下ntpdate命令的使用以及时间服务器的搭建。

时间: 2024-12-18 10:07:02

设置linux服务器定时与时间服务器同步的相关文章

【树莓派】crontab设置Linux设备定时重启

简介:设置Linux设备定时重启或者关机 问题:有台设备每天总需要使用的人手动重启一下才可以正常工作,但是检查了日志,看起来服务一切都正常.时间和正确时间相差4mins. 解决办法: 1.增加定时任务,设置自动重启: 2.修改正确时间,并增加自动同步: 都是相对比较简单的命令,这里简单记录一下,可以供需要的同学参考: 增加定时任务,设置自动重启: 编辑crontab: sudo crontab -e 增加定时重启命令,查看crontab [email protected]:~ $ sudo cr

Linux 搭建本地 ntp时间服务器

Linux搭建本地时间服务器 实验前说明: 实验机器:VMware 10 实验系统:CentOS6.6 实验目的:让VMware上的所有CentOS系统时间都一样,方便做集群实验: # 1,编译安装ntp(在你想做时间服务器的那台机器上)我这台机器ip为:172.16.249.135 # 安装gcc编译器 yum install gcc -y # 下载程序包 wget http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.6p

linux 修改系统时间 同步网络时间

一.date命令 date -s time  修改系统时钟时间为time 设置时间和日期 例如:将系统日期设定成2018年6月8日的命令 命令 : "date -s 06/08/2018" 将系统时间设定成下午10点46分03秒的命令 命令 : "date -s 10:46:03" 二.hwclock命令 hwclock/clock查看.设置硬件时间 查看系统硬件时钟 设置硬件时间 hwclock --set --date="06/18/14 14:55&

linux下 定时 以时间命名 备份数据库

bakfordatabase.sh mysqldump -uuser -ppassword database>folder/`date "+%Y-%m-%d~%H-%M-%S"`.sql 以时间命名备份数据库 00 07 * * * sh folder/bakfordatabase.sh <pre name="code" class="plain">00 */8 * * * sh folder/bakfordatabase.sh

linux下日期时间自动同步设置(rdate,ntpdate两种方法)

linux下同步时间,至少有两种方法:rdate,ntpdate两种.centos最小化安装默认不安装,先确认已经安装过,否则先安装.其中rdate本身是用来获取远程时间服务器上时间用的,带上 -s 参数,就可以将获取到的时间应用到本地系统. NAME       rdate - get the time via the networkSYNOPSIS       rdate [-p] [-s] [-u] [-l] [-t sec] [host...]DESCRIPTION       rdat

NTP(Network Time Protocol) 服务器:时间服务器

NTP(Network Time Protocol) 服务器:时间服务器GMT(Greenwich Mean Time,GMT 时间):格林威治标准时间夏季节约时间(或称日光节约时间):daylight savings(DST)UTC(Coordinated Universal Time ) :协和标准时间最标准时间是由原子钟计算出来的,根据原子震荡周期UTC与GMT时间由于计时方式不同,相差有16分钟 软件时钟:由Linux操作系统根据1970/01/01开始计算的总秒数:硬件时钟:主机硬件系

entos7配置ntp时间服务器

转自    https://blog.csdn.net/zzy5066/article/details/79036674 entos7配置ntp时间服务器 Centos7配置时间服务器,假如配置一个服务端,多个客户端: 服务端: 1.安装ntp服务 yum install ntp ntpdate -y 2.查找当前地区,最适合的时间服务器 步骤一:打开网站:http://www.pool.ntp.org/zone/asia 步骤二:复制自动推荐的最合适的同步服务器 server 0.asia.p

gps网络时间服务器的功能原理

gps网络时间服务器是以gps卫星信号为时间基准,并输出NTP网络时间信息,NTP是网络时间协议是用来同步计算机的一种协议,它可以在网络内采用广播发式传输标准时间数据包,网内需要时间同步的设备对操作系统进行相应设置,使自身的时间自动同步于NTP时间服务器,从而实现全网时间同步. gps网络时间服务器以GPS卫星作为时间基准,输出UTC国际标准时间进行授时.gps网络时间服务器一般由外部信号接收单元.信号处理单元.输出时间单元和授时设备所组成.gps网络时间服务器接收时间信号进行解码处理,并将UT

Linux环境:ntpdate命令无法同步时间问题

1.背景:使用date -s 设置时间时,退出之后重新登录仍然发现时间是修改后的时间,与服务器或真实时间不同步 2.使用ntpdate命令同步时间,ntpdate time.ntp.org,发现不成功,ping time.ntp.org不成功,但ping www.baidu.com 是成功的,说明不是自身网络问题: 3.ping time.nist.gov成功,那么可以使用ntpdate time.nist.gov同步时间,但还是不成功,如下图 4.注意上图中server和offset,此处可怀