查看/修改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。