您的位置:首页 > 运维架构 > Linux

Linux时区设置

2012-05-07 16:36 169 查看
刚刚处理一列时区设置错误,下面在测试环境下重新下处理过程。

首先来看下正确的时区设置。

[root@vm3 ~]# date -R

Mon, 07 May 2012 16:20:14 +0800

[root@vm3 ~]# date

2012年 05月 07日 星期一 16:23:35 CST

[root@vm3 ~]# strings /etc/localtime

TZif2

p ~h

!Iap"^J

#)Cp$Gg

TZif2

!Iap

#)Cp

CST-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/localtime

cp:是否覆盖“/etc/localtime”? y

这个覆盖是立即生效的:

[root@vm3 ~]# date -R

Mon, 07 May 2012 08:28:06 +0000

[root@vm3 ~]# date

2012年 05月 07日 星期一 08:28:08 GMT

发现这个案例的原因是开发人员报告数据库的时间不对,于是上去使用nptdate同步了下时间,发现还是不对,仔细一看原来是时区设置错误了。

接下来我们可以将时区设置回正确值:

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

cp:是否覆盖“/etc/localtime”? y

[root@vm3 ~]# date -R

Mon, 07 May 2012 16:30:50 +0800

[root@vm3 ~]# date

2012年 05月 07日 星期一 16:30:52 CST

[root@vm3 ~]# hwclock -w

另外一些关于时间设置的系统配置文件和命令:

/etc/sysconfig/clock

选择时区 tzselect

设置时间 timeconfig

写入硬件 hwclock -w

-The End-
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: