同步时间ntpdate
ntpdate -u ntp.api.bz
ntp常用服务器:
1 2 3 4 5 6 7 8 9 | 中国国家授时中心:210.72.145.44 NTP服务器(上海) :ntp.api.bz 美国: time.nist.gov 复旦: ntp.fudan.edu.cn 微软公司授时主机(美国) :time.windows.com 北京邮电大学 : s1a.time.edu.cn 清华大学 : s1b.time.edu.cn 北京大学 : s1c.time.edu.cn 台警大授时中心(台湾):asia.pool.ntp.org |
# 设置时间
date -s "20160819 15:30:30"
# 修改时间格式
date '+%Y%M%D' 按照格式显示当前日期,结果如下:
#修改时区
date "+%Z"
查看时间:
date -R && hwclock -r # 同时查看系统时间和硬件时间
如果系统时间准确:
hwclock -w #以系统时间为准,修改硬件时间
反之:
hwclock -s #以硬件时间为准,修改系统时间
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | -r, --show 读取并打印硬件时钟(read hardware clock and print result ) -s, --hctosys 将硬件时钟同步到系统时钟(set the system time from the hardware clock ) -w, --systohc 将系统时钟同步到硬件时钟(set the hardware clock to the current system time ) –adjust hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用–adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟。 –debug 显示hwclock执行时详细的信息。 –directisa hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟。 –hctosys 将系统时钟调整为与目前的硬件时钟一致。 –set --date=<日期与时间> 设定硬件时钟。 –show 显示硬件时钟的时间与日期。 –systohc 将硬件时钟调整为与目前的系统时钟一致。 –test 仅测试程序,而不会实际更改硬件时钟。 –utc 若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作。 –version 显示版本信息。 补充:在服务器可以上网的情况下,自动同步系统时间 ntpdate ntp.ntsc.ac.cn 中国国家授时中心 NTP服务器地址是“ntp.ntsc.ac.cn” |
---------------------------时间不同步问题排查---------------------------------------
问题:四台虚拟机做时间同步时,三台正常,一台不能同步
[root@backup ~]# /usr/sbin/ntpdate time.nist.gov
执行这条命令后既不报错也不显示过程和结果
定时任务如下:*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1
且在命令行执行如下命令时,不显示过程及结果也不报错
/usr/sbin/ntpdate time.nist.gov
解决过程如下:
1、查看定时任务有无错误,经检验,定时任务正确没问题
[root@backup ~]# crontab -l
*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1
2、查看网络是否能ping 通,经检验,网络正常
[root@backup ~]# ping www.baidu.com
PING www.a.shifen.com (61.135.169.125) 56(84) bytes of data.
64 bytes from 61.135.169.125: icmp_seq=1 ttl=128 time=6.56 ms
3、再次检验时间服务器网站是否能ping 通,经检验,是通的
[root@backup ~]# ping time.nist.gov
PING time.nist.gov (128.138.141.172) 56(84) bytes of data.
64 bytes from utcnist2.colorado.edu (128.138.141.172): icmp_seq=1 ttl=128 time=308 ms
64 bytes from utcnist2.colorado.edu (128.138.141.172): icmp_seq=2 ttl=128 time=314 ms
4、上述都正确,再次在命令行测试执行命令的结果,经测试,仍然不输出过程及结果
[root@backup ~]# /usr/sbin/ntpdate time.nist.gov
5、查看进程如下
[root@backup ~]# ps -ef|grep ntp
root 2762 2706 0 00:09 pts/0 00:00:00 grep nt
6、查看ntp 安装包及版本如下
[root@backup ~]# rpm -qa ntp
ntp-4.2.6p5-5.el6.centos.x86_64
7、有ntp 安装包,查看其是否开启,结果显示ntp 未开启,并开启ntp
[root@backup ~]# chkconfig ntp on
在 ntp 服务中读取信息时出错:没有那个文件或目录
[root@backup ~]# chkconfig --list|grep ntp
ntpd 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
ntpdate 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
[root@backup ~]# chkconfig ntpd on
[root@backup ~]# chkconfig ntpdate on
8、开启ntp后 输入/usr/sbin/ntpdate time.nist.gov 依然不输出过程及结果
9、开启 与时间服务器同步 服务
[root@backup ~]# /etc/init.d/ntpdate start
ntpdate: 与时间服务器同步: [确定]
10、再次在命令行执行/usr/sbin/ntpdate time.nist.gov,依然不输出经过及结果
11、用date 查看,时间已经同步
[root@backup ~]# date
2015年 11月 11日星期三 22:15:15 CST
总结:
1、ntpd同步时间是通过外网同步的,它是递归修改时间,一点点校准时间
2、ntpdate时间同步是修改时间,卡,一下子就修改过来了,根本不给你反应的时间
3、中国国家授时中心:210.72.145.44
NTP服务器(上海) :ntp.api.bz
4、写完定时任务,配置好后,如果是客户端同步,不需要开启ntpd服务
如果是要作为NTP服务端的话需要开启ntpd服务
服务器时间不准问题
ntpdate -u ntp.api.bz 同步网络时间上海 ntp服务器(https://www.cnblogs.com/wanghuaijun/p/6547046.html)
hwclock命令出现/dev/rtc to wait for clock tick timed 解决办法(Linux)
故障描述:
一台IBM x3850发现系统时间比正确时间变快了8小时。而且已经确认BIOS时间是绝对正确的。且clock 和hwclock都不能使用,有以下报错:select() to /dev/rtc to wait for clock tick timed out。
故障分析:
计算机系统有两个时钟,一个是 BIOS(CMOS),或者说“硬件时钟”,还有一个就是“系统(操作系统)时钟”,如果这两个时钟的设置上有问题,或者Linux 的时钟配置文件不正确的话,就会产生系统时钟差 8 小时的问题。或读的是硬件时间这没错,然而系统把他当成UTC时间,然后自己加了8小时,得到他所认为的local time.
clock 和hwclock不能使用,出现报错:select() to /dev/rtc to wait for clock tick timed out,原因是不能读取/dev/rtc,也就是硬件时间。这又是因为某些机器的BIOS处理方式和Linux的rtc内核模块之间出现了问题。
Linux又有3个这类模块,rtc/genrtc/rtc_dev,似乎是一个比一个新,有些Linux系统通常自己用的是rtc这个老模块;但Dell/ibm/acer等等厂商现在都可能使用新的BIOS,这种BIOS和这个rtc就可能不对付。如果出现了上面那个timeout的问题,使用下面的方法可以解决:
故障解决:
给hwclock加参数,--directisa
1.检查/etc/localtime文件
localtime文件是Linux 的时钟设置文件,实际上这个文件是 /usr/share/zoneinfo 目录下对应文件的符号连接。假设我们所处的地区位于上海,那么只要运行以下的命令就可以设置时区了。
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
2.检查/etc/sysconfig/clock文件
ZONE=Asia/Shanghai ##/usr/share/zoneinfo 下面的文件。
UTC=false ##硬件时钟是否为 UTC 或者说 GMT 时钟。
ARC=false ##如果是在 Alpha 机器上,则设置为 true 。
注:1.把硬件时钟设置为 UTC 的好处就是他能自动设置夏时制,缺点时,在安装有多重操作系统启动的机器上,在另外的操作
系统上时钟会错误。
2.如果以上两个文件的设定都没有问题,继续
3.vi /etc/sysconfig/clock
添加:CLOCKFLAGS=--directisa //直接以I/O指令存取硬件时间而不通过/dev/rtc设备来存取
4.vi /etc/rc.sysinit
将/etc/rc.sysinit里面关于hwclock的命令都加directisa参数 //使系统开机时可以读取硬件时钟
vi /etc/init.d/halt
将/etc/init.d/halt里面关于hwclock的命令都加directisa参数 //使系统关机时与硬件时钟同步
5.调整系统时间为正确时间
6.执行:hwclock --directisa --systohc
或
重启后执行:hwclock --systohc
ntpdate同步失败
[root@3 ~]# ntpdate 192.168.17.147
9 Feb 12:59:07 ntpdate[87183]: no server suitable for synchronization found
解决方法:
1.vim /etc/ntp.conf
2.添加现行,并取消同步外网的ntp
server 127.127.1.0
fudge 127.127.1.0 stratum 8

3.重启ntpd服务
systemctl restart ntpd
4.验证测试
[root@guankonga3 ~]# ntpdate 192.168.1.10
9 Feb 13:01:14 ntpdate[87267]: adjust time server 192.168.1.10 offset 0.000458 sec
同步成功。
原理:
在ntp客户端运行ntpdate serverIP,出现no server suitable for synchronization found的错误。
在ntp客户端用ntpdate –d serverIP查看,发现有“Server dropped: strata too high”的错误,并且显示“stratum 16”。而正常情况下stratum这个值得范围是“0~15”。
这是因为NTP server还没有和其自身或者它的server同步上。
以下的定义是让NTP Server和其自身保持同步,如果在/ntp.conf中定义的server都不可用时,将使用local时间作为ntp服务提供给ntp客户端。
本文来自博客园,作者:此生逍遥py,转载请注明原文链接:https://www.cnblogs.com/csxy-py/p/16776587.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!