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