Linux and Unix下修改时区的方法

来源:岁月联盟 编辑:exp 时间:2012-03-23
现在的集群软件,大部分都需要多台机器的时间差不能超过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 -c2,到底有多少中时区可以选择呢?我们可以进入/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-old3,做新的localtime文件,将对应的时区文件链接过来# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime4,与硬件同步# /sbin/hwclock --systohc
AIX:1,查看当前时区(其他操作系统是date命令即可)cat /etc/environment (查找TZ所在行)2,为了妥善起见,建议使用smit修改时区smit chtz3,所有的时区信息在/usr/share/lib/zoneinfo目录
HPUX:1,# set_parms timezone,可以通过交互的方式来修改时区。所有Unix系统(不包括Linux),可以通过echo $TZ来查看当前时区。   作者 qinggzha