日期:2014-05-16  浏览次数:20718 次

linux时区时间修改 调整crontab时间与系统时间一致
安装的虚拟机,没太注意时区,发现时区比中国上海的慢了16个小时,在网上查找了如下方法,分享给大家:

  ---------------------------------

  时区的配置文件是/etc/sysconfig/clock。用tzselect命令就可以修改这个配置文件,根据命令的提示进行修改就好了。

  但是在实际工作中,发现这种方式是不能够使得服务器上的时间设置马上生效的,而且使用ntpdate去同步时间服务器也不能够更改时间。即使你使用了 date命令手工设置了时间的话,如果使用ntpdate去进行时间同步的话,时间又会被改动到原来的错误时区的时间。而生产的机器往往是非常重要的,不能够进行重启等操作。

  如果要修改时区并且马上生效,可以更换/etc/localtime 文件来实现。比如修改时区为中国上海,那么就可以使用如下的命令来使得时区的更改生效。

  cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

  然后最好使用下面的命令将更改写入bios。

  hwclock -w

  --------------------------------

  具体操作:

  [root@localhost ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

  cp: overwrite `/etc/localtime'? y

  [root@localhost ~]# date

  Sat Feb 20 16:04:43 CST 2010

  [root@localhost ~]# hwclock -w

  Sat 20 Feb 2010 04:05:12 PM CST  -0.474966 seconds


#date  -s 16:44:00    ///设置系统时间 十分钟后才被写入CMOS时间

################################################################################################
调整crontab时间与系统时间一致:
以前公司同事说设置tzselect再重启crond就可以,后来部署crontab发现运行的时间跟系统时间老是不一样,测试才发现crontab 时间跟系统时间不一致,现调整方法如下:

1:用tzselect设置好时区
2:ln -s  /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime (Asia/Shanghai这个是上面tzselect设置的时区)(个人感觉这样也可以:cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 没事试过;))
3:修改/etc/sysconfig/clock
ZONE="Asia/Shanghai" (Asia/Shanghai这个是上面tzselect设置的时区)
UTC=false                     (如果不用utc时间就设成false)
ARC=false

4:重启crond
/etc/init.d/crond restart