本篇文章为大家展示了怎么解析Linux系统的时间管理,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
3.3 系统时间管理
3.3.1 时间分类
在Linux中有硬件时钟与系统时钟等两种时钟。
硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟;
系统时钟则是指kernel中 的时钟;所有Linux相关指令与函数都是读取系统时钟的设定
当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作
用date命令对系统时间进行设置后,并不会去修改硬件时钟,所以系统重启后,系统时间还算会去读取硬件时间,这就是为何date设置失效到原因。
3.3.2 修改硬件时间
命令:clock/hwclock
参数:
-r, --show 读取并打印硬件时钟(read hardware clock and print result)
-s, --hctosys 将硬件时钟同步到系统时钟(set the system time from the hardware clock)
-w, --systohc 将系统时钟同步到硬件时钟(set the hardware clock to the current system time)
查看硬件时钟
[root@pc6 ~]# hwclock -r
2018年05月22日星期二 10时43分48秒 -0.079097 seconds
clock与hwclock相同
[root@pc6 ~]# type -a clock
clock is /sbin/clock
[root@pc6 ~]# ll /sbin/clock
lrwxrwxrwx. 1 root root 7 5月 11 2017 /sbin/clock -> hwclock
同步系统时间到硬件时钟
查看系统时间,系统时间在2018年 11月 02日
[root@xuegod65 ~]# date
2018年 11月 02日星期五 22:30:08 CST
查看硬件时间2018年05月22日
[root@xuegod65 ~]# hwclock
2018年05月22日星期二 10时56分35秒 -0.921030 秒
将系统时间更新到硬件时钟
[root@xuegod65 ~]# hwclock –w
验证硬件时钟更新成功
[root@xuegod65 ~]# hwclock
2018年11月02日星期五 22时36分21秒 -0.458489 秒
3.3.2 修改系统时间
命令:date
参数:date –help
修改系统时间
-s, --set=STRING 把时间设为字符串所描述的时间
[root@xuegod63 ~]# date -s "2018-11-2 22:30"
2018年 11月 02日星期五 22:30:00 CST
%F 完整日期格式,等价于 %Y-%m-%d
[root@xuegod63 ~]# date "+%F"
2018-11-02
%y 年份最后两位数位 (00-99)
%Y 年份
%m month (01..12)
%d 按月计的日期(例如:01)
%M minute (00..59)
%H 小时(00-23)
%S 秒(00-60)
[root@xuegod63 ~]# date "+%Y%m%d"
20181102
#在年月日之前可以添加自己想要的符号
[root@xuegod63 ~]# date "+%Y-%m-%d %H:%M:%S"
2018-11-02 22:34:27
-d, --date=STRING #显示由字符串描述的时间,而不是"当前时间"
[root@xuegod63 ~]# date -d "+1 months" +%F
2018-12-02
同步网络时间到系统时间
[root@localhost ~]# ntpdate 210.72.145.44
27 Mar 11:11:24 ntpdate[4766]: adjust time server 210.72.145.44 offset 0.011401 sec
210.72.145.44 (中国西安授时中心的官方时间同步服务器IP域名)
同步网络时间到系统时间后,就可以用hwclock -w将系统时间同步到硬件时间。
修改时区
可能部分系统在执行以上两步后,在重启后仍然失效,所以需要进行时区修改。
[root@localhost ~]# tzselect #按照提示进行选择时区
[root@localhost ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
修改系统时间配置文件
[root@localhost ~]# /etc/sysconfig/clock
#打开clock文件,将相关内容改成以下内容
UTC=true
ARC=false
ZONE="Asia/Shanghai"
重启系统
[root@localhost ~]# reboot
上述内容就是怎么解析Linux系统的时间管理,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网行业资讯频道。