Unix and Linux修改时区方法

llystar 2012-04-17

现在的集群软件,大部分都需要多台机器的时间差不能超过1000秒,所以如果用户都用date命令去修改时间,这个比较简单就不多说了。然而,有时候两台机器的时间虽然一致,但是时区却不同,那么用户就不得不去修改机器的时区,这个修改在不同操作系统是不同的,所以这里分别介绍一下主流操作系统修改时区的方法:
Solaris:

在solaris中,修改时区需要修改/etc/TIMEZONE文件,其中的TZ=PRC就表示中国时区,我们可以将其替换为TZ=US/Pacific,再重启机器,就将时区修改为美国太平洋时区了。

这里需要注意三点:

1,在X86的机器上,需要再执行如下命令,更新/etc/rtc_config文件:

#rtc-zzone-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修改时区

smitchtz

3,所有的时区信息在/usr/share/lib/zoneinfo目录
HPUX:1,# set_parms timezone,可以通过交互的方式来修改时区。
所有Unix系统(不包括Linux),可以通过echo $TZ来查看当前时区。

相关推荐