刘仁 Java后端开发

CentOS 7 上NTP服务安装与配置,解决服务器时间同步的问题

2019-10-28
LIUREN

CentOS 7 上NTP服务安装与配置,解决服务器时间同步的问题

在部署项目的时候,发现提交的时间,跟现在的时间不一致,不同步,导致有一些订单的时间对不上,或是一些对时间比较重要的记录会对不上,所以需要解决该问题。那么如何解决服务器时间同步的问题

一、 NTP服务概述

NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议。

在计算机的世界里,时间非常地重要,例如对于火箭发射这种科研活动,对时间的统一性和准确性要求就非常地高,是按照A这台计算机的时间,还是按照B这台计算机的时间?

NTP就是用来解决这个问题的,NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议。它的用途是把计算机的时钟同步到世界协调时UTC,其精度在局域网内可达0.1ms,在互联网上绝大多数的地方其精度可以达到1-50ms。

Linux的时间以及与网络时间不一致:

二、 NTP服务安装

##查找
yum search ntp
##安装
yum -y install ntp
##删除
yum -y remove ntp

三、NTP服务配置

1. NTP服务启动、暂停
##启动
service ntpd start
##停止
service ntpd stop
##重新启动
service ntpd restart
##重新加载
service ntpd reload
##查看当前启动状态
service ntpd status
2. NTP服务自动加载
##在运行级别2,3,4,5,上设置为自动运行
chkconfig ntpd on
 
##在运行级别2,3,4,5,上设置为不自动运行
chkconfig ntpd off
 
##在运行级别3,5,上设置为自动运行
chkconfig ntpd --level 35 on
 
##在运行级别3,5,上设置为不自动运行
chkconfig ntpd --level 35 off

原文链接:http://www.souvc.com/?p=1699

执行CentOS7的定时任务

1.切换到root用户下: su root
2.执行如下命令: yum install ntpdate -y
3.执行自动校验时间: ntpdate -u ntp.api.bz
4.设置定时任务
vi /etc/crontab


#每隔一个小时更新一次时间
* */1 * * * root ntpdate -u ntp.api.bz

进入后输入i 编辑插入

脚本内容【每分钟更新时间一次】:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
##每隔一个小时更新一次时间
* */1 * * * root ntpdate -u ntp.api.bz
# For details see man 4 crontabs
#echo $JAVA_HOME
# 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
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

基本用法

# 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
# | | | | |
# * * * * * user-name command to be executed
定时任务的每段为:分,时,日,月,周,用户,命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

*:表示任意时间都,实际上就是“每”的意思。可以代表00-23小时或者00-12每月或者00-59分
-:表示区间,是一个范围,00 17-19 * * * cmd,就是每天17,18,19点的整点执行命令
,:是分割时段,30 3,19,21 * * * cmd,就是每天凌晨3和晚上19,21点的半点时刻执行命令
/n:表示分割,可以看成除法,*/5 * * * * cmd,每隔五分钟执行一次

=====================================================================

博客地址:https://www.codepeople.cn

=====================================================================

微信公众号:


Comments

Content