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

SatFeb2016:04:43CST2010

[root@localhost~]#hwclock-w

Sat20Feb201004:05:12PMCST-0.474966seconds

#date-s16: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/crondrestart

相关推荐