Linux下的时区设置

来源:岁月联盟 编辑:exp 时间:2012-05-08

刚刚处理一列时区设置错误,下面在测试环境下重新下处理过程。首先来看下正确的时区设置。[root@vm3 ~]# date -RMon, 07 May 2012 16:20:14 +0800[root@vm3 ~]# date2012年 05月 07日 星期一 16:23:35 CST[root@vm3 ~]# strings /etc/localtimeTZif2  www.2cto.com  p ~h!Iap"^J#)Cp$GgTZif2!Iap#)CpCST-8可以看到我们使用的时区是 +0800,这个对应的就是中国的正确的时区。接下来我要模拟下如何将时区设置为一个错误的值,时区的设置文件为 /etc/localtime,linux下保存着所有可用的时区设置参数文件,目录为/usr/share/zoneinfo/,需要设置时区的时候将对应的时区设置文件覆盖到/etc/localtime即可,知道原理后我们就可用设置到一个错误的时区了。本例中我选择了一个非洲的时区。[root@vm3 ~]# ll /usr/share/zoneinfo/Africa/ | more总计 424-rw-r--r-- 1 root root  156 2011-05-06 Abidjan设置当前时区为Abidjan:[root@vm3 ~]# cp /usr/share/zoneinfo/Africa/Abidjan /etc/localtimecp:是否覆盖“/etc/localtime”? y这个覆盖是立即生效的:[root@vm3 ~]# date -RMon, 07 May 2012 08:28:06 +0000[root@vm3 ~]# date2012年 05月 07日 星期一 08:28:08 GMT发现这个案例的原因是开发人员报告数据库的时间不对,于是上去使用nptdate同步了下时间,发现还是不对,仔细一看原来是时区设置错误了。接下来我们可以将时区设置回正确值:[root@vm3 ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtimecp:是否覆盖“/etc/localtime”? y[root@vm3 ~]# date -R  www.2cto.com  Mon, 07 May 2012 16:30:50 +0800[root@vm3 ~]# date2012年 05月 07日 星期一 16:30:52 CST[root@vm3 ~]# hwclock -w另外一些关于时间设置的系统配置文件和命令:/etc/sysconfig/clock选择时区 tzselect设置时间 timeconfig写入硬件 hwclock -w-The End-   作者 gtlions