linux 如何时间同步

来源:互联网 时间:2026-02-26 09:35:51 作者:

0. 时间设置 查看linux操作系统时间命令为date,如果要设置操作系统日期命令为date -s 20101002,设置时间 date -s 09:55:21,同时设置日期和时间date -s '20101002 12:10:21'; 查看机器的bios时间: hwclock [-rw] -r:检视目前的 BIOS 时间 -w:将目前 Linux 的时间写入 BIOS 当中!   1. 外网同步 机器可以连接到外网的时候可以使用ntpdate来同步时间,这个方法最简单,只要分别在2个节点上设置下时间同步计划即可。 首先我们设置下错误的系统和硬件时间 root@localhost ~]# date -s '20120101 12:12:12' ; hwclock -w ; date ; hwclock -r 2012年 12月 12日 星期三 12:12:12 CST 2012年 12月 12日 星期三 12:12:13 CST 2012年12月12日 星期三 12时12分15秒 -0.999668 seconds 可以看到系统和硬件时间都被设置到错误的时间去了,现在我们要设置下同步计划: crontab -e #选择一个方案即可   */1 * * * * /usr/sbin/ntpdate 210.72.145.44 ; /usr/sbin/hwclock -w #每分钟同步一次 */59 * * * * /usr/sbin/ntpdate 210.72.145.44 ; /usr/sbin/hwclock -w #每59分钟同步一次 5 10 * * * /usr/sbin/ntpdate 210.72.145.44 ; /usr/sbin/hwclock -w #每天10:05同步一次 最好service crond restart重启下crontab服务,这样就可以同步服务器的时间了。 PS:在使用ntpdate 命令时, ntpd 服务必须是关闭的(/etc/init.d/ntpd stop), 否则会报the NTP socket is in use, exiting 错误。   2. 架设内部服务器 如果服务器无法连接到外网,那就需要架设本地时间服务器,首先在要作为时间服务器的机器上设置: 修改 vi /etc/ntp.conf 增加以下行 server 210.72.145.44 prefer server 127.127.1.0 restrict 192.168.200.204 mask 255.255.255.0 nomodify restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap noquery 注释: 中国国家授时中心服务器地址 prefer表示优先 注意把默认的server更改成这样 本地时间) 允许192.168.200.204的IP使用该时间服务器 屏蔽其他IP过来更新时间   相关配置参数说明 #  restrict权限控制语法为: #  restrict IP mask netmask_IP parameter #  其中 IP 可以是软件地址,也可以是 default ,default 就类似 0.0.0.0 咯! #  至于 paramter 则有: #   ignore :关闭所有的 NTP 联机服务 #   nomodify:表示 Client 端不能更改 Server 端的时间参数,不过, #        Client 端仍然可以透过 Server 端来进行网络校时。 #   notrust :该 Client 除非通过认证,否则该 Client 来源将被视为不信任网域 #   noquery :不提供 Client 端的时间查询 #  如果 paramter 完全没有设定,那就表示该 IP (或网域) 『没有任何限制!』   #  设定上层主机主要以 server这个参数来设定,语法为: #  server [IP|FQDN] [prefer] #  Server 后面接的就是我们上层 Time Server 啰!而如果 Server 参数 #  后面加上 perfer 的话,那表示我们的 NTP 主机主要以该部主机来作为 #  时间校正的对应。另外,为了解决更新时间封包的传送延迟动作,     接着设置NTP服务在系统引导时自动启动 # chkconfig ntpd on 启动/关闭/重启NTP的命令: # /etc/init.d/ntpd start # /etc/init.d/ntpd stop # /etc/init.d/ntpd restart #service ntpd restart   还需要设置将同步好的时间写到CMOS里 vi /etc/sysconfig/ntpd SYNC_HWCLOCK=yes 每次修改了配置文件后都需要重新启动服务来使配置生效。 检查NTP服务是否启动,你应该可以得到一个进程ID号: pgrep ntpd #ntpd进程ID号 使用下面的命令检查时间服务器同步的状态: ntpq -p 或者 watch ntpq -p ntpstat #检查ntpd同步的状态,完成了和自身同步也可以查看一些同步状态 netstat -ntlup | grep 123 #查看nptd端口使用   客户端设置: 使用ntpdate进行同步 crontab -e #选择一个方案即可 */1 * * * * root /usr/sbin/ntpdate 192.168.2.4 ; /sbin/hwclock -w #每分钟同步一次 */59 * * * * root /usr/sbin/ntpdate 192.168.2.4 ; /sbin/hwclock -w #每59分钟同步一次 5 10 * * * root /usr/sbin/ntpdate 192.168.2.4 ; /sbin/hwclock -w #每天10:05同步一次   客户端可以使用ntpdate -d 192.168.2.4命令来检查时间服务器状态。   3. rdate同步 在安装Oracle RAC的时候各个节点间时间必须一致,可以以一个节点作为标准,其他节点与该节点进行时间同步。 GTR1作为标准时间,GTR2节点用GTR1节点时间进行同步: rdate -s GTR1 也可以在crontab自动执行时间同步。 crontab -l */1 * * * * rdate -s GTR1
 

相关推荐