日期:2014-05-16  浏览次数:20707 次

Unix and Linux修改时区方法

?

现在的集群软件,大部分都需要多台机器的时间差不能超过1000秒,所以如果用户都用date命令去修改时间,这个比较简单就不多说了。然而,有时候两台机器的时间虽然一致,但是时区却不同,那么用户就不得不去修改机器的时区,这个修改在不同操作系统是不同的,所以这里分别介绍一下主流操作系统修改时区的方法:
Solaris:
在solaris中,修改时区需要修改/etc/TIMEZONE文件,其中的TZ=PRC就表示中国时区,我们可以将其替换为TZ=US/Pacific,再重启机器,就将时区修改为美国太平洋时区了。
这里需要注意三点:
1,在X86的机器上,需要再执行如下命令,更新/etc/rtc_config文件:
# rtc -z zone-name(这里的zone-name就是/etc/TIMEZONE中TZ的值)
# rtc -c
2,到底有多少中时区可以选择呢?我们可以进入/usr/share/lib/zoneinfo目录,其中有很多目录,包括US,也有很多文件,比如PRC;这表示US下还有很多时区,而PRC就是统一的时区。正因为如此,我们才看到TZ=PRC和TZ=US/Pacific这两种不同的形式。
3,需要重启系统使之生效。
Linux(Redhat and Suse):
1,在/usr/share/zoneinfo/目录下查询想要更换的时区名称,修改格式同上
2,将原有的localtime文件移走;
# mv /etc/localtime /etc/localtime-old
3,做新的localtime文件,将对应的时区文件链接过来
# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
4,与硬件同步
# /sbin/hwclock --systohc
AIX:
1,查看当前时区(其他操作系统是date命令即可)
cat /etc/environment (查找TZ所在行)
2,为了妥善起见,建议使用smit修改时区
smit chtz
3,所有的时区信息在/usr/share/lib/zoneinfo目录
HPUX:
1,# set_parms timezone,可以通过交互的方式来修改时区。
所有Unix系统(不包括Linux),可以通过echo $TZ来查看当前时区。

?