Linux服务器时间不准确
时间:2012-4-15 22:10 作者:酷酷 分类: 网站技术
最近服务器总出现一个问题,就是明明设置好服务器时间但是过了几天服务器时间又不对了,总是比正确的时间快,怎么回事儿呢。
后来上网查了一下才知道,原来Linux计算机系统有两个时钟,一个是BIOS,或者CMOS,或者说“硬件时钟”,还有一个就是“系统(操作系统)时钟”,平时电脑显示的是系统时钟,就会产生这个问题。
我先用了以下的方法:
#date //查看当前的linux系统时间
#hwclock --show (注意是双杠,不是单杠) //查看当前linux硬件时间
发现系统时间和硬件时间不同步,而且硬件时间是正确的于是我用以下命令:
#hwclock --hctosys //把硬件时间同步到系统时间
(如果是系统时间是正确的,你可以用“hwclock --systohc ”的命令,把系统时间同步到硬件时间。)
一段时间后系统时间和硬件时间又不同步了,无语了!!!到网上百度了一下知道了系统必须联网对应到当地的时区才可以做到时间的时时同步。正好我们的系统是用的私有地址,不能联网,所以系统时间就和硬件时间不同步了。我想到了用以下方法解决这个问题。
1.写一个shell脚本,同步系统时间和硬件时间。
#vi sj.sh //编译shell脚本,内容如下:
#!/bin/sh
hwclock --hctosys
2.定时执行sj.sh的脚本。
#crontab -e
*/ 5 * * * * /root/cron/sj.sh //每五分钟执行一次“root/cron下的sj.sh脚本”
可是时间还是不同步,又纳闷了!!!后来发现了系统的以下的提示:
提示的错误为:
hwclock:command not found
在当前路径下没有“hwclock”的命令。于是我修改sj.sh的shell脚本如下:
#!/bin/sh
/usr/sbin/hwclock --hctosys