linux系统时间有两个,一个是硬件时间,即BIOS时间,就是我们进行CMOS设置时看到的时间,另一个是系统时间,是linux系统Kernel时间。当Linux启动时,系统Kernel会去读取硬件时钟的设置,然后系统时钟就会独立于硬件运作。有时我们会发现系统时钟和硬件时钟不一致,因此需要执行时间同步。

一:同步网络时间

1. 检查系统是否安装ntp服务

安装ntp服务命令:

apt-get install ntp  或者 yum install ntp

2. service –status-all:检查ntp服务是否启动

[+]表示服务已启动

3. ntpdate 服务器IP:同步服务器时间

ntp常用服务器:
    中国国家授时中心:210.72.145.44
    NTP服务器(上海) :ntp.api.bz
    美国:time.nist.gov 
    复旦:ntp.fudan.edu.cn 
    微软公司授时主机(美国) :time.windows.com 
    台警大授时中心(台湾):asia.pool.ntp.org

二: 修改服务器时区

1. date -R : 查看当前时区

2. tzselect:时区设置用tzselect 命令来实现。但是通过tzselect命令设置TZ这个环境变量来选择的时区,需要将变量添加到.profile文件中。

执行tzselect命令 –> 选择Asia –> 选择China –> 选择east China - Beijing, Guangdong, Shanghai, etc–>然后输入1。

三:其他方式

 date 查看/设置系统时间

1、将日期设置为2017年11月3日

[root@linux-node ~]# date -s 11/03/17

2、将时间设置为14点20分50秒

[root@linux-node ~]# date -s 14:20:50

3、将时间设置为2017年11月3日14点16分30秒(MMDDhhmmYYYY.ss)

[root@linux-node ~]# date 1103141617.30

 hwclock/clock 查看/设置硬件时间

1、查看系统硬件时钟

[root@linux-node ~]# hwclock –show 或者 [root@linux-node ~]# clock –show

2、设置硬件时间

[root@linux-node ~]# hwclock –set –date=”11/03/17 14:55” (月/日/年时:分:秒) 或者 [root@linux-node ~]# clock –set –date=”11/03/17 14:55” (月/日/年时:分:秒)
同步系统及硬件时钟 

[root@linux-node ~]# hwclock –hctosys 或者 [root@linux-node ~]# clock –hctosys 备注:hc代表硬件时间,sys代表系统时间,以硬件时间为基准,系统时间找硬件时间同步

[root@linux-node ~]# hwclock –systohc或者 [root@linux-node ~]# clock –systohc 备注:以系统时间为基准,硬件时间找系统时间同步
修改配置文件来修改时区

1
2
3
[root@linux-node ~]# echo "ZONE=Asia/Shanghai" >> /etc/sysconfig/clock
[root@linux-node ~]# rm -f /etc/localtime #链接到上海时区文件
[root@linux-node ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

执行完上述过程后,重启机器,即可看到时区已经更改。

备注:在centos7中设置时区的命令可以通过 timedatectl 命令来实现
[root@linux-node ~]# timedatectl set-timezone Asia/Shanghai