NTP基本介绍

NTP(Network TimeProtocol,网络时间协议),使用来使本地机器与服务端机器时间保持同步的一种协议。如果我们只有一台机器那么只需要安装NTP客户端ntpdate这个包,然后找一个能用的时间服务器地址就可以实现本地与远程服务器时间保持同步。

如果我们有多台机器,其中只有一个可以访问公网,我们称之为管理机器,只需给管理器装上NTP服务端,然后再管理机器上运行NTP守护进程,其它被管理的内网机器同步时使用管理机器的内网IP地址,即可实现集群中全体机器的时间同步。

NTP客户端配置

简单两步,搞定单台机器时间同步。
1 安装ntpdate

yum install ntpdate

ntpdate无需任何依赖,也可以直接rpm安装

rpm -ivh http://mirrors.aliyun.com/centos/7.5.1804/os/x86_64/Packages/ntpdate-4.2.6p5-28.el7.centos.x86_64.rpm

2 与远程机器时间同步

ntp常用服务器:
中国国家授时中心:210.72.145.44
NTP服务器(上海) :ntp.api.bz 阿里云的NTP时间服务器ntp1.aliyun.com # ntpdate ntp1.aliyun.com
19 Oct 10:07:54 ntpdate[17142]: adjust time server 120.25.115.20 offset 0.026562 sec

显然这台机器需要能够访问互联网才能实现时间同步,其它更多NTP时间服务器地址可在官网或网上找到,如果是自己测试,可以先使用date命令修改本地时间,再进行测试。

3. 配置定时任务

3.1 方法一:

只需要把这条命令写入定时任何,即可实现自动同步时间。如每10分钟同步一次时间(以root用户登录):

# echo "*/10 * * * * /usr/sbin/ntpdate ntp1.aliyun.com > /dev/null 2>&1" >> /var/spool/cron/root
# crontab -l
*/10 * * * * /usr/sbin/ntpdate ntp1.aliyun.com > /dev/null 2>&1

3.1 方法一:

配置用户定时任务的语法:

crontab [-u user]file

crontab [-u user] [-l| -r | -e][-i]

参数与说明:

crontab -u//设定某个用户的cron服务

crontab -l//列出某个用户cron服务的详细内容

crontab -r//删除没个用户的cron服务

crontab -e//编辑某个用户的cron服务

例子:

假设当前用户是root,要建立root用户的定时任务

crontab -e

选择编辑器,编辑定时任务(这里假设是编辑器是vi)

按i进入编辑模式

  * * * /root/test.sh

按esc退出编辑模式进入普通模式,输入:x或:wq保存退出

查看刚刚输入的定时任务

crontab -l 或 cat /var/spool/cron/root

根用户以外的用户可以使用 crontab 工具来配置 cron 任务。所有用户定义的 crontab 都被保存在 /var/spool/cron 目录中,并使用创建它们的用户身份来执行。要以某用户身份创建一个 crontab 项目,登录为该用户,然后键入 crontab -e 命令,使用由 VISUAL 或 EDITOR 环境变量指定的编辑器来编辑该用户的 crontab。该文件使用的格式和 /etc/crontab 相同。当对 crontab 所做的改变被保存后,该 crontab 文件就会根据该用户名被保存,并写入文件 /var/spool/cron/username 中。
cron 守护进程每分钟都检查 /etc/crontab 文件、etc/cron.d/ 目录、以及 /var/spool/cron 目录中的改变。如果发现了改变,它们就会被载入内存。这样,当某个 crontab 文件改变后就不必重新启动守护进程了。 重启crond: /sbin/service crond restart

搭建NTP时间服务器(服务端配置)

如果我们需要实现集群内时间保持同步,显然最好的方案是自己搭建一台NTP服务器,然后其它机器同步这台NTP时间服务器上的时间,而NTP时间服务器同步公网上远程机器的时间,从而实现整套集群保持与北京时间同步。

1 安装ntp(NTP服务端的包名)

[root@m01 ~]# hostname -I
10.0.0.61 172.16.1.61
[root@m01 ~]# yum install ntp

2 启动ntpd服务

[root@m01 ~]# systemctl start ntpd
[root@m01 ~]# systemctl enable ntpd

3 其它内网机器同步NTP时间服务器(172.16.1.61)

[root@lb01 ~]# hostname -I
172.16.1.5
[root@lb01 ~]# yum install ntpdate -y
[root@lb01 ~]# date -s '20081024'
[root@lb01 ~]# ntpdate 172.16.1.61
[root@lb01 ~]# date
Fri Oct 19 10:35:35 CST 2018

ntpd服务只要启动,自动会在后台为这台NTP服务器同步时间(可能需要等几分钟),不需要我们手动操作,其它机器只需同步这台NTP服务器即可。

另外,记录下,rdate时间服务器搭建

【转载】linux系统时间自动同步:ntp的更多相关文章

  1. linux服务器时间自动同步

    最常用的是 rdate 服务 安装(centOs为例): yum install -y rdate 用法: rdate -s time-b.nist.gov 执行完以上方法时间就同步了.有的服务器隔一 ...

  2. 修改linux系统时间和同步

    date 查看当前时间 date -s 15:14:13 修改时间 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 修改时区 yes cront ...

  3. linux系统时间不同步解决办法(同步本地时间)

    改变/etc/目录下的localtime文件,既可以改变当前的时区 1.方法是到/usr/share/zoneinfo目录下找到你要相对应的时区文件,例如上海在/usr/share/zoneinfo/ ...

  4. 搭建NTP时间服务器~使用NTP同步时间~构建主机间时间自动同步关系

    NTP是一个时间服务器,同时它也是一个时间客户端. 我们可以使用它构建主机与主机之间的时间自动同步环境,保证所有服务器时间一致性. 常用的公共NTP时间服务器有: cn.ntp.org.cn 中国 n ...

  5. 自动与因特网时间服务器同步 NTP 服务器 pool.ntp.org, 120.24.166.46 端口 123

    自动与因特网时间服务器同步   NTP 服务器 pool.ntp.org 海康提供的NTP服务器   120.24.166.46     端口  123

  6. Linux系统时间同步方法

    在Windwos中,系统时间的设置很简单,界面操作,通俗易懂,而且设置后,重启,关机都没关系.系统时间会自动保存在BIOS时钟里面,启动计算机的时候,系统会自动在BIOS里面取硬件时间,以保证时间的不 ...

  7. Linux_自动调整linux系统时间和时区与Internet时间同步

    调整linux系统时间和时区与Internet时间同步 一.修改时区:# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime修改为中国的东八区# v ...

  8. Linux系统时间同步方法小结

    在Windwos中,系统时间的设置很简单,界面操作,通俗易懂,而且设置后,重启,关机都没关系.系统时间会自动保存在BIOS时钟里面,启动计算机的时候,系统会自动在BIOS里面取硬件时间,以保证时间的不 ...

  9. 自动调整linux系统时间和时区与Internet时间同步

    调整linux系统时间和时区与Internet时间同步 一.修改时区:# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime修改为中国的东八区# v ...

随机推荐

  1. python MySQLdb 字段与关键字重名

    在做一个东西的时候,将字段命名为desc和describe. 构造sql语句并插入数据,报语法错误.一个一个字段排查,发现是这两个字段的问题. 找了一下,这两个是关键字. 所以,字段与关键字重名的时候 ...

  2. python 数据结构之二叉树

    二叉树关键在构建和遍历,python实现相对简单,我们在实现需要用到类,分别设置爱左右子树,根节点,然后从根进行遍历,进行判断,若为空进行树的构建,非空则返回到列表中即可,我在进行遍历时产生了一个错误 ...

  3. [Python]Flask 源代码分析-config

    flask有一个Config类,含from_object, from_pyfile, from_environ等载入命名空间的方法.载入命名空间的本质是载入一个dict[key]=value的字典. ...

  4. mongoDB,mongoose,没有数组就添加,如果有了数组,就向数组中添加新元素

    db.getCollection('photos').findOneAndUpdate("5b028e71f32bd5004f905879",   //findByIdAndUpd ...

  5. BZOJ5177 : [Jsoi2013]贪心的导游

    首先预处理出对于每个模数,所有被模数按结果从大到小排序的结果,那么对于一个询问,如果可以在$O(1)$时间内判断某个数字是否出现,则可以$O(1000)$回答. 考虑对序列进行分治,对于区间$[l,r ...

  6. shell脚本使用技巧7--cat

    cat是单词concatenate缩写 echo 'text through stdin' | cat - file.txt 输出:text throgh stdin 和file.txt中的内容: c ...

  7. eclipse编辑环境下导入springmvc的源码

    如果想要查看@ModelAttribute的源码,只需要,点击ctrl+鼠标左键,就会出现attach--,点击attach--,external,选择类似springframe-web-source ...

  8. Yii2 数据搜索类 PostSearch

    数据搜索类 PostSearch /** * @Purpose : 添加 authorName 属性,使属性和搜索表单相对应 * @return array */ public function at ...

  9. Java面试题集锦

    1. String.StringBuffer和StringBuilder的区别. (1)  String:存储数值不可改变的字符串 (2)  StringBuffer:可变字符序列.线程安全.效率低 ...

  10. oracle 分析函数 keep(dense_rank first/last)

    SQL : select * from crisis_sales where dept_id = 'D02' order by sale_date; DEPT_ID  SALE_DATE  GOODS ...