十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
系统运维
Linux及Unix调整系统时间和时区的方法
一、Linux调整时区
1)找到相应的时区文件 ,如调整到亚洲/上海时区:
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
用这个文件替换当前的/etc/localtime文件。
2)修改/etc/sysconfig/clock文件,修改为:
ZONE=”Asia/Shanghai”
UTC=false
ARC=false
3)通过tzselect调整
#tzselect
Pleaseidentifyalocationsothattimezonerulescanbesetcorrectly.Pleaseselectacontinentorocean 1)Africa 2)Americas 3)Antarctica 4)ArcticOcean 5)Asia 6)AtlanticOcean 7)AustraliaEurope 9)IndianOcean 10)PacificOcean 11)none–IwanttospecifythetimezoneusingthePosixTZformat. 输入5,亚洲 4)Bahrain 21)Kazakhstan 38)Russia 5)Bangladesh 22)Korea(North) 39)SaudiArabia 6)Bhutan 23)Korea(South) 40)Singapore 7)Brunei 24)Kuwait 41)SriLankaCambodia 25)Kyrgyzstan 42)Syria 9)China 输入9,中国 Pleaseselectoneofthefollowingtimezoneregions 1)eastChina–Beijing,Guangdong,Shanghai,etc. 2)Heilongjiang 3)centralChina–Gansu,Guizhou,Sichuan,Yunnan,etc. 4)Tibet&mostofXinjiangUyghur 5)southwestXinjiangUyghur 输入1,北京时间 Thefollowinginformationhasbeengiven: ChinaeastChina–Beijing,Guangdong,Shanghai,etc ThereforeTZ=”Asia/Shanghai”willbeused.Localtimeisnow:FriJul710:32:18CST2006.UniversalTimeisnow:FriJul702:32:18UTC2006.IstheaboveinformationOK?1)Yes2)No 输入1,确认
二、Linux时间的更改
Linux时钟分为系统时钟(SystemClock)和硬件(RealTimeClock,简称RTC)时钟。系统时钟是指当前LinuxKernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置。当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。
Linux中的所有命令(包括函数)都是采用的系统时钟设置。在Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只用一个就行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。
1、date
查看系统时间
#date
设置系统时间
#date–set“07/07/0610:19″(月/日/年时:分:秒)
2、hwclock/clock
查看硬件时间
#hwclock–show
或者#clock–show
设置硬件时间
#hwclock–set–date=”07/07/0610:19″(月/日/年时:分:秒)
或者#clock–set–date=”07/07/0610:19″(月/日/年时:分:秒)
3、硬件时间和系统时间的同步
按照前面的说法,重新启动系统,硬件时间会读取系统时间,实现同步,但是在不重新启动的时候,需要用hwclock或clock命令实现同步。
硬件时钟与系统时钟同步:#hwclock–hctosys(hc代表硬件时间,sys代表系统时间)或者#clock–hctosys
系统时钟和硬件时钟同步:#hwclock–systohc或者#clock–systohc
三、UNIX中的时区TZ设置
修改时区的方法:
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,需要重启系统使之生效。
AIX:
1,查看当前时区(其他操作系统是date命令即可)
cat/etc/environment(查找TZ所在行)
2,为了妥善起见,建议使用smit修改时区
smitchtz
3,所有的时区信息在/usr/share/lib/zoneinfo目录
HPUX:
修改配置文件,/etc/TIMEZONE为
#vi /etc/TIMEZONETZ=EAT-8export TZ
修改配置文件/etc/default/tz 为
# vi /etc/default/tz EAT-8
修改完成后需要重启系统。
#echo $TZ
EAT-8
(若APP显示的是UTC时间,则需要减去8个小时来转换为本地北京时间。)
四、常见的系统时区定义:
TimeZonesDefinedontheSystem: NameTimeZoneCUTOffset CUT0GDTCoordinatedUniversalTimeCUT GMT0BSTUnitedKingdomCUT AZOREST1AZOREDTAzores,CapeVerdeCUT-1 FALKST2FALKDTFalklandIslandsCUT-2 GRNLNDST3GRNLNDDTGreenland,EastBrazilCUT-3 AST4ADTCentralBrazilCUT-4 中文: 系统时区定义 定义时区GMT时间定义 CUT0GDT格林威治时间CUT GMT0BST伦敦都柏林里斯本爱丁堡CUT AZOREST1AZOREDT亚速尔群岛佛得角群岛CUT-1 FALKST2FALKDT福克兰群岛(西大西洋)CUT-2 GRNLNDST3GRNLNDDT格陵兰巴西利亚纽芬兰CUT-3 AST4ADT大西洋时间(加拿大)南美洲西部圣地亚哥CUT-4 EST5EDT东部时间(美加)印第安纳(东部)CUT-5 CST6CDT中部时间(美加)墨西哥城CUT-6 MST7MDT山地时间(美加)亚利桑那CUT-7 PST8PDT太平洋时间(美加)蒂华纳CUT-8 AST9ADT阿拉斯加CUT-9 HST10HDT夏威夷CUT-10 BST11BDT中途岛萨摩亚群岛CUT-11 NZST-12NZDT纽西兰新西兰(太平洋南部岛国)CUT+12 PAKST-5PAKDT伊斯兰堡卡拉奇CUT+5 WST-4WDT高尔基中亚阿曼CUT+4 MEST-3MEDT土耳其CUT+3 SAUST-3SAUDT沙乌地阿拉伯CUT+3 WET-2WET芬兰CUT+2 USAST-2USADT南非东欧CUT+2 NFT-1DFT挪威(北欧国家)罗马CUT+1