设置、修改Linux时区

  • Post author:
  • Post category:linux


查看/修改Linux时区和时间

在RedHat和Centos类系统中,与系统时间有关的主要三个目录或文件

1)/etc/sysconfig/clock 文件,只对 hwclock

命令有效,且只在系统启动和关闭的时候才有用(修改了其中的 UTC=true 到 UTC=false 的前后,执行 hwclock (–utc,

或 –localtime) 都没有变化,要重启系统后才生效);

在 /etc/sysconfig/clock 中 UTC=false 时,date、hwclock、hwclcok –localtime 输出的时间应该都一致,且此时 hwclock –utc是没有意义的;

在 /etc/sysconfig/clock 中 UTC=ture 时,date、hwclock 的输出是一致的,hwclock –localtime 的输出则是UTC时间;

系统关闭时会同步系统时间到硬件时钟,系统启动时会从硬件时钟读取时间更新到系统,这2个步骤都要根据 /etc/sysconfig/clock 文件中UTC的参数来设置时区转换。

2)/etc/localtime

这个文件用来设置系统的时区,将

/usr/share/zoneinfo/ 中相应文件拷贝到/etc下并重命名为 localtime 即可修改时区设置,而且这种修改对 date

命令是及时生效的。不论是 date 还是 hwclock 都会用到这个文件,会根据这个文件的时区设置来进行UTC和本地之间之间的换算。

3)




/usr/share/zoneinfo/











该文件夹里面放着各个时区的脚本文件,使用时直接ln或cp使用。例如


ln

-sf

/usr/share/zoneinfo/Asia/Shanghai /etc/localtime







一、时区









1. 查看当前时区

date -R 或直接 date

2. 修改设置时区

方法(1)

tzselect

方法(2) 仅限于RedHat Linux 和 CentOS

timeconfig

方法(3) 适用于Debian

dpkg-reconfigure tzdata









方法(4)











复制相应的时区文件,替换系统时区文件;或者创建链接文件





cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime

在中国可以使用:

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime




或:




ln

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







修改/etc/sysconfig/clock 使这个文件和



/etc/localtime



时区保持一致







ZONE=”Asia/Shanghai”







二、时间









1、查看时间和日期

date

2、设置时间和日期

将系统日期设定成1996年6月10日的命令

date -s 06/22/96

将系统时间设定成下午1点52分0秒的命令

date -s 13:52:00

3. 将当前时间和日期写入BIOS,避免重启后失效

hwclock -w


三、定时同步时间


* * * * * /usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1



在Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只用一个就行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。

查看Linux系统时间:

date

修改Linux系统时间:

date -s (后面跟时间)

查看Linux硬件时间:

hwclock



clock



hwclock –show



clock –show

修改Linux硬件时间:

hwclock –set –date



clock –set –date

让系统时间与硬件时钟同步,用:

hwclock –hctosys



clock –hctosys

相反地,让硬件时钟与系统时间同步:

hwclock –systohc



clock –systohc

让系统时间每隔十分钟去同步一下硬件时间。

[hqw@localhost root]$ vi /etc/crontab    SHELL=/bin/bash  PATH=/sbin:/bin:/usr/sbin:/usr/bin  MAILTO=root  HOME=/    # run-parts  01 * * * * root run-parts /etc/cron.hourly  02 4 * * * root run-parts /etc/cron.daily  22 4 * * 0 root run-parts /etc/cron.weekly  42 4 1 * * root run-parts /etc/cron.monthly  */10 * * * * root hwclock --hctosys  #我加入了这么一行,表示每隔10分钟执行一次hwclock --hctosys。