Linux的时区设置
在Linux下glibc提供了我们事先编译好的许多timezone文件, 他们就放在/usr/share/zoneinfo这个目录下,这里基本涵盖了大部分的国家和城市
# ls -F /usr/share/zoneinfo/ Africa/ Chile/ Factory Iceland Mexico/ posix/ Universal America/ CST6CDT GB Indian/ Mideast/ posixrules US/ Antarctica/ Cuba GB-Eire Iran MST PRC UTC Arctic/ EET GMT iso3166.tab MST7MDT PST8PDT WET Asia/ Egypt GMT0 Israel Navajo right/ W-SU Atlantic/ Eire GMT-0 Jamaica NZ ROC zone.tab Australia/ EST GMT+0 Japan NZ-CHAT ROK Zulu Brazil/ EST5EDT Greenwich Kwajalein Pacific/ Singapore Canada/ Etc/ Hongkong Libya Poland Turkey CET Europe/ HST MET Portugal UCT
在这里面我们就可以找到自己所在城市的time zone文件. 那么如果我们想查看对于每个time zone当前的时间我们可以用zdump命令
# zdump Hongkong Hongkong Fri Jul 6 06:13:57 2007 HKT
那么我们又怎么来告诉系统我们所在time zone是哪个呢?这里举例一种比较方便的
我们可以在/usr/share/zoneinfo下找到我们的time zone文件然后拷贝去到/etc/localtimezone(或者做个symbolic link)
我们想把time zone换成上海所在的时区就可以这么做
# ln -sf /usr/share/zoneinfo/posix/Asia/Shanghai /etc/localtime # date Fri Jul 6 06:35:52 CST 2007
date是查看当前系统时间
第二种方法:
vi /etc/crontab
加上一句:
00 0 1 * * root rdate -s time.nist.gov
time.nist.gov 是一个时间服务器.
参考自:
http://www.linuxsir.org/bbs/thread307840.html
http://blueicer.blog.51cto.com/395686/116426