liunx系统下时钟不同步会出现问题 怎么同步Linux 的系统时钟和硬件时钟?


linux的系统时钟在很多地方都要用到,要是不准,就会出现一些奇怪的问题;

在Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟。系统时钟: 是指当前Linux Kernel中的时钟,硬件时钟: 是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置。

当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。

Linux 中的所有命令(包括函数)都是采用的系统时钟设置。在Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只用一个就行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。

1、 date
查看系统时间
# date

设置系统时间
# date –set “07/07/06 10:19″     //(月/日/年时:分:秒)

2、hwclock/clock
查看硬件时间
# hwclock –show  //或者
# clock –show

设置硬件时间
# hwclock –set –date=”07/07/06 10:19″ (月/日/年 时:分:秒) 或者
# clock –set –date=”07/07/06 10:19″ (月/日/年 时:分:秒)

3、硬件时间和系统时间的同步
按照前面的说法,重新启动系统,硬件时间会读取系统时间,实现同步,
但是在不重新启动的时候,需要用hwclock或clock命令实现同步。

硬件时钟与系统时钟同步:
# hwclock –hctosys   // (hc代表硬件时间,sys代表系统时间)或者
# clock –hctosys

系统时钟和硬件时钟同步:
# hwclock –systohc   // 或者
# clock –systohc

4. 和外部的NTP时间服务器同步
$ service ntpd stop
这一步是必须的,否则出出现:
25 Nov 18:10:34 ntpdate[2106]: the NTP socket is in use, exiting
的失败提示;

$ ntpdate ntp.sjtu.edu.cn
正常返回如下:
25 Nov 18:14:34 ntpdate[2164]: adjust time server 202.120.2.101 offset -0.006107 sec
错误返回如:
25 Nov 18:13:44 ntpdate[2158]: no server suitable for synchronization found

$ service ntpd start
$ chkconfig ntpd on
$ clock -w

还可以写进定时任务中,以做定时的时钟同步:
$ crontab -e
05 * * * * /usr/sbin/ntpdate ntp.sjtu.edu.cn > /dev/null 2>&1
05 17 * * * /sbin/clock -w

附上中国大概能用的NTP时间服务器地址
  server 133.100.11.8 prefer
  server 210.72.145.44
  server 203.117.180.36
  server 131.107.1.10
  server time.asia.apple.com
  server 64.236.96.53
  server 130.149.17.21
  server 66.92.68.246
  server www.freebsd.org
  server 18.145.0.30
  server clock.via.net
  server 137.92.140.80
  server 133.100.9.2
  server 128.118.46.3
  server ntp.nasa.gov
  server 129.7.1.66
  server ntp-sop.inria.frserver 210.72.145.44(中国国家授时中心服务器IP地址)
  server ntp.sjtu.edu.cn(上海交通大学网络中心NTP服务器地址)

以上就是设置Linux 的系统时钟和硬件时钟同步的方法,谢谢阅读,希望能帮到大家,请继续关注phpstudy,我们会努力分享更多优秀的文章。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3