linux系统时间有两个,一个是硬件时间,即BIOS时间,就是我们进行CMOS设置时看到的时间,另一个是系统时间,是linux系统Kernel时间。当Linux启动时,系统Kernel会去读取硬件时钟的设置,然后系统时钟就会独立于硬件运作。有时我们会发现系统时钟和硬件时钟不一致,因此需要执行时间同步。
同步时间:
一、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 备注:以系统时间为基准,硬件时间找系统时间同步
四、ntpdate同步时间
NTP节点:
ntp.api.bz
cn.pool.ntp.org pool.ntp.org
0.asia.pool.ntp.org
# ntpdate -u ntp.api.bz
更改时区:
时区设置用tzselect 命令来实现。但是通过tzselect命令设置TZ这个环境变量来选择的时区,需要将变量添加到.profile文件中。
一、tzselect命令执行获取TZ值
执行tzselect命令 --> 选择Asia --> 选择China --> 选择Beijing Time -->然后输入1
方法一、修改配置文件来修改时区
修改/etc/sysconfig/clock文件,把ZONE的值改为Asia/Shanghai,UTC值改为false,改完后的文件如下:
ZONE="Asia/Shanghai" UTC=false ARC=false
# rm -f /etc/localtime # ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
这个方法执行完立即生效,不需要重启
注:
CentOS的时区配置文件是:/etc/sysconfig/clock
这个配置文件里面支持UTC,ARC,SRM,ZONE这几个配置选项,关于这几个配置选项详解如下:
(1)UTC
指定BIOS中保存的时间是否是GMT/UTC时间,true表示BIOS里面保存的时间是UTC时间,false表示BIOS里面保存的时间是本地时间
(2)ZONE
指定时区,ZONE的值是一个文件的相对路径名,这个文件是相对 /usr/share/zoneinfo 目录下的一个时区文件。比如ZONE的值可以是:“Asia/Shanghai”, “US/Pacific”, “UTC” 等
(3)ARC
这个选项一般配置false,在一些特殊硬件(Alpha)下才配置该选项为true
(4)SRM
它同ARC,该选项一般配置false,在一下特殊硬件下才配置该选项为false
说明:这个配置文件里面的参数和 hwclock 命令关系很大,系统在启动的时候读取/etc/sysconfig/clock 文件的内容,根据这些内容调用hwclock 命令
方法二、通过 timedatectl 命令
在centos7中设置时区的命令可以通过 timedatectl 命令来实现
# timedatectl set-timezone Asia/Shanghai
还没有评论,来说两句吧...