高希希的老婆:linux调整系统时间和时区的方法

来源:百度文库 编辑:九乡新闻网 时间:2024/04/30 17:43:31

1) 找到相应的时区文件 /usr/share/zoneinfo/Asia/Shanghai
用这个文件替换当前的/etc/localtime文件。
2) 修改/etc/sysconfig/clock文件,修改为:
ZONE="Asia/Shanghai"
UTC=false
ARC=false
3)
时间设定成2005年8月30日的命令如下:
#date -s 08/30/2005
将系统时间设定成下午6点40分0秒的命令如下。
#date -s 18:40:00
4)
同步BIOS时钟,强制把系统时间写入CMOS,命令如下:
#clock -w
5)重启apache。

Linux时区、时间的更改
Linux时钟分为系统时钟 (System Clock)和硬件(Real Time Clock,简称RTC)时钟。系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置。当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。
Linux中的所有命令(包括函数)都是采用的系统时钟设置。在Linux中,用于时钟查看和设置的命令主要有date、hwclock和 clock。其中,clock和hwclock用法相近,只用一个就行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。
1、date
查看系统时间
# date
设置系统时间
# date --set “07/07/06 10:19" (月/日/年时:分:秒)
2、hwclock/clock
查看硬件时间
# hwclock --show
或者# clock --show

设置硬件时间
# hwclock --set --date="07/07/06 10:19" (月/日/年 时:分:秒)
或者# clock --set --date="07/07/06 10:19" (月/日/年 时:分:秒)
3、硬件时间和系统时间的同步
按照前面的说法,重新启动系统,硬件时间会读取系统时间,实现同步,但是在不重新启动的时候,需要用hwclock或clock命令实现同步。
硬件时钟与系统时钟同步:# hwclock --hctosys(hc代表硬件时间,sys代表系统时间)或者# clock --hctosys
系统时钟和硬件时钟同步:# hwclock --systohc或者# clock --systohc
4、时区的设置
# tzselect
Please identify a location so that time zone rules can be set correctly.Please select a continent or ocean
1) Africa
2) Americas
3) Antarctica
4) Arctic Ocean
5) Asia
6) Atlantic Ocean
7) Australia
8) Europe
9) Indian Ocean
10) Pacific Ocean
11) none - I want to specify the time zone using the Posix TZ format.
输入5,亚洲
Please select a country
1) Afghanistan
18) Israel
35) Palestine
2) Armenia
19) Japan
36) Philippines
3) Azerbaijan
20) Jordan
37) Qatar
4) Bahrain
21) Kazakhstan
38) Russia
5) Bangladesh
22) Korea (North)
39) Saudi Arabia
6) Bhutan
23) Korea (South)
40) Singapore
7) Brunei
24) Kuwait
41) Sri Lanka
8) Cambodia
25) Kyrgyzstan
42) Syria
9) China
26) Laos
43) Taiwan
10) Cyprus
27) Lebanon
44) Tajikistan
11) East Timor
28) Macau
45) Thailand
12) Georgia
29) Malaysia
46) Turkmenistan
13) Hong Kong
30) Mongolia
47) United Arab Emirates
14) India
31) Myanmar (Burma)
48) Uzbekistan
15) Indonesia
32) Nepal
49) Vietnam
16) Iran
33) Oman
50) Yemen
17) Iraq
34) Pakistan
输入9,中国
Please select one of the following time zone regions
1) east China - Beijing, Guangdong, Shanghai, etc.
2) Heilongjiang
3) central China - Gansu, Guizhou, Sichuan, Yunnan, etc.
4) Tibet & most of Xinjiang Uyghur
5) southwest Xinjiang Uyghur
输入1,北京时间
The following information has been given:
China east China - Beijing, Guangdong, Shanghai, etc
Therefore TZ="Asia/Shanghai" will be used.Local time is now: Fri Jul 7 10:32:18 CST 2006.Universal Time is now: Fri Jul 7 02:32:18 UTC 2006.Is the above information OK?1) Yes2) No
输入1,确认
  如果不用tzselect命令,可以修改文件变更时区。
  # vi /etc/sysconfig/clock ZONE=Asia/Shanghai(查/usr/share/zoneinfo下面的文件) UTC=false ARC=false
  # rm /etc/localtime
  # ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  重新启动即可。

 

 


Linux时钟和时区
计算机系统有两个时钟,一个是 BIOS,或者CMOS,或者说“硬件时钟”,还有一个就是“系统(操作系统)时钟”,如果这两个时钟的设置上有问题,或者Linux 的时钟配置文件不正确的话,就会产生系统时钟差 8 小时的问题。

让我们先查看 /etc/sysconfig/clock 的内容:

[root@www /root]# cat /etc/sysconfig/clock
ZONE=Asia/Shanghai                   ;/usr/share/zoneinfo 下面的文件。
UTC=false                                        ; 硬件时钟是否为 UTC 或者说 GMT 时钟。
ARC=false                                        ;如果是在 Alpha 机器上,则设置为 true 。
把硬件时钟设置为 UTC 的好处就是他能自动设置夏时制,缺点时,在安装有多重操作系统启动的机器上,在另外的操作系统上时钟会错误。

Linux 的时钟设置文件为:/etc/localtime ,实际上这个文件是 /usr/share/zoneinfo 目录下对应文件的符号连接。假设我们所处的地区位于上海,那么只要运行以下的命令就可以设置时区了。

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

Linux 启动时,其中的一个脚本(/etc/rc.d/rc.sysinit)会运行 /sbin/hwclock 程序,把当前的硬件时钟复制为系统时间。hwclock 假定硬件时钟已经设置为本地时钟,除非带有 --utc 参数。脚本文件会读取 /etc/sysconfig/clock 文件的设置,因此我们不需要修改脚本,直接修改这个配置文件就可以了,根据需要把其中的 UTC 行,设置为 true 或者 false。

设置硬件时钟时,首先使用 date 命令("date MMDDhhmmYYYY.ss") 设置好系统时钟,然后使用 "/sbin/hwclock --systohc" 把硬件时钟设置为和当前系统时间一致。

如果你在某些应用下面的时间是错误的,那么你在运行 Red Hat Linux 5.0 或 5.1,解决的办法是建立 /usr/lib/zoneinfo 到 /usr/share/zoneinfo 的符号连接:

ln -s /usr/share/zoneinfo /usr/lib/zoneinfo

小结:时钟设置的问题本身比较简单,但是它涉及到几个基本的配置文件:

/etc/rc.d/rc.sysinit
/etc/sysconfig/clock
/etc/localtime
/usr/share/zoneinfo

对初学者来说,确实需要一定的基本功才可以对以上的几个文件了如指掌。但是仔细阅读 hwclock 的 man 手册,相信这些问题都能迎刃而解

Linux下时钟时区以及时间同步的命令和配置
本文出处:http://www.hetlife.com/linux-time-zone-clock-and-time-synchronization-of-commands-and-configuration.html

第 一部分:设置时间
我们一般使用“date -s”命令来修改系统时间 (这里说的是系统时间,是linux由操作系统维护的。)。比如将系统时间设定成1996年6月10日的命令如下。
#date -s 06/10/96

将系统时间设定成下午1点 12分0秒的命令如下。
#date -s 13:12:00

将日期时间设置成1996年6月10日下午1点12分0秒可以用
#date -s “06/10/1996 13:12:00″


这里的格式是 “MM/DD/YYYY hh:mm:ss”或者

#date 061013121996.00
这里的格式是MMDDhhmmYYYY.ss (月日时分年.秒)

在 系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性, Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date -s后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。如果要确保修改生效可以执行如下命令。

#hwclock -w
这个命令强制把系统时间写入CMOS,(等同于 hwclock –systohc)

================

Linux将时钟分为系统时钟 (System Clock)和硬件(Real Time Clock,简称RTC)时钟两种。系统时间是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的那个主板硬件时钟,这个时钟可以在BIOS的Standard BIOS Feture”项中进行设置。

在 Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只不过clock命令 除了支持x86硬件体系外,还支持Alpha硬件体系。由于目前绝大多数用户使用x86硬件体系,所以可以视这两个命令为一个命令来学习。

1.在虚拟终端中使用date命令来查看和设置系统时间

查看系统时钟的操作:
#date

设置系统时钟的操作:
#date 091713272003.30

通用的设置格 式:
#date 月日时分年.秒

2.使用hwclock或clock命令查看和设置硬件时钟
查看硬件时钟
#hwclock –show

#clock –show
2003年09月17日 星期三 13时24分11秒 -0.482735 seconds

设置硬件时钟的操作:
# hwclock –set –date=”09/17/2003 13:26:00″
或者
# clock –set –date=”09/17/2003 13:26:00″

通用的设置 格式:hwclock/clock –set –date=“月/日/年 时:分:秒”。

3.同步系统时钟和硬件时钟
Linux系统(笔者使用的是Red Hat 8.0,其它系统没有做过实验)默认重启后,硬件时钟和系统时钟同步。如果不大方便重新启动的话(服务器通常很少重启),使用clock或hwclock 命令来同步系统时钟和硬件时钟。

硬件时钟同步系统时钟
# hwclock –hctosys
或者
# clock –hctosys

上面命令中,–hctosys表示 Hardware Clock to SYStem clock。

系统时钟同步硬件时钟

# hwclock –systohc
或者
# hwclock -w
或者
# clock –systohc

输 入#hwclock –help查看所有参数和 格式

第二部分:设置时区
编辑配置文档/etc/sysconfig/clock

#
ZONE=”Asia/Shanghai”
UTC=false
ARC=false

(注:此方法在RedHat Linux上配置通过)