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、时区的设置 第一种方式 1、用date修改日期时间 #date -s 08/24/2006 #date -s 13:02:00 2、同步BIOS时钟,强制把系统时间写入CMOS #clock -w 3、查看Bois时间用 #hwclock –r
第二种方式:NTP服务器的设置 1. 确认没有运行ntp daemon。 # /etc/init.d/ntpd stop 2. 在/etc/ntp.conf中写入如下内容: driftfile /etc/ntp/drift logfile /var/log/ntp.log server pool.ntp.org 注意:如果没有drift或logfile,需要手动创建之,并把权限设为root可读写,其他用户只读 3. 用ntpdate手动更新时间: 这是因为当你的系统时间误差很大,有20~30分钟以上时,ntp的更新将非 常慢,而ntpdate的更新一般是很快的。 # ntpdate pool.ntp.org4. (cn.pool.ntp.org) 4.启动ntp daemon: # /etc/init.d/ntpd start 5. 检查ntpd的状态: # ntpq -p如果见到ntp服务器的名字,那就说明启动成功了 6. 添加ntpd为系统启动服务: # chkconfig --add ntpd # chkconfig --level 3 ntpd on # chkconfig --level 012456 ntpd off
第三种方式 修改时区: 第1步:.找到相应的时区文件 /usr/share/zoneinfo/Asia/Shanghai 用这个文件替换当前的/etc/localtime文件。 或者找你认为是标准时间的服务器,然后 #scp /etc/localtime 第2步:修改/etc/sysconfig/clock文件,修改为: ZONE="Asia/Shanghai" UTC=false ARC=false