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