linux硬件时钟命令 linux时钟配置

Linux 7系统修改时间

1 TIMEDATECTL命令

网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了平潭免费建站欢迎大家使用!

该命令是作为systemd系统和服务管理器的一部分分发的工具,可以用它来查看和更改系统时钟的配置,包括更改当前的日期和时间、设置时区以及可以激活与远端服务器系统时钟的自动同步,是红帽企业版 7 版本新增的命令。

1.1 展示当前日期和时间

可以使用timedatectl命令来展示当前日期和时间,并且有系统和硬件时钟的配置的详细信息。

[root@strong ~]# timedatectl

Local time: Sat 2019-09-21 15:02:27 CST

Universal time: Sat 2019-09-21 07:02:27 UTC

RTC time: Sat 2019-09-21 07:02:27

Time zone: Asia/Shanghai (CST, +0800)

NTP enabled: no

NTP synchronized: no

RTC in local TZ: no

DST active: n/a

1.2 更改当前时间

更改当前时间,命令格式为:timedatectl set-time HH:MI:SS。

该命令同时更改系统时间和硬件时钟,执行结果与使用命令date --set 和hwclock --systohc的效果相同。

[root@strong ~]# timedatectl set-time 20:00:00

[root@strong ~]# timedatectl

Local time: Sat 2019-09-21 20:00:04 CST

Universal time: Sat 2019-09-21 12:00:04 UTC

RTC time: Sat 2019-09-21 12:00:05

Time zone: Asia/Shanghai (CST, +0800)

NTP enabled: no

NTP synchronized: no

RTC in local TZ: no

DST active: n/a

[root@strong ~]# timedatectl set-time 2019-09-15

[root@strong ~]# timedatectl

Local time: Sun 2019-09-15 00:00:03 CST

Universal time: Sat 2019-09-14 16:00:03 UTC

RTC time: Sat 2019-09-14 16:00:03

Time zone: Asia/Shanghai (CST, +0800)

NTP enabled: no

NTP synchronized: no

RTC in local TZ: no

DST active: n/a

仅仅更改日期,时间会变为00:00:00,故更改日期时需把对应的时间加上,例如:timedatectl set-time "2019-09-21 15:16:00"。

1.4 更改时区

1.4.1 列出所有时区

[root@strong ~]# timedatectl list-timezones

1.4.2 更改时区

[root@strong ~]# timedatectl set-timezone Asia/Shanghai

2 DATE命令

该命令在所有Linux系统都可用,用于设置和查看当前日期和时间,常用于脚本中以格式化的形式用于展示系统时间的详细信息。

2.1 展示当前日期和时间

1)不带任何格式展示

[root@strong ~]# date

Sat Sep 21 15:24:57 CST 2019

默认展示的是本地时间,以UTC的方式展示,需使用date --utc或date -u。

[root@strong ~]# date --utc

Sat Sep 21 07:25:50 UTC 2019

2)格式化展示

客制化日期和时间的展示格式,使用命令:date +"格式"。

常用的格式为:

控制格式

描述

%H

以HH格式展示小时;

%M

以MM格式展示分钟;

%S

以SS格式展示秒;

%d

以DD格式展示天数;

%m

以MM格式展示月;

%Y

以YYYY格式展示年;

%Z

时区;

%F

以YYYY-MM-DD格式展示日期,和%Y-%m-%d等价;

%T

以HH:MM:SS格式展示时间,和%H:%M:%S等价;

[root@strong ~]# date

Sat Sep 21 15:37:18 CST 2019

[root@strong ~]# date +"%Y-%m-%d %H:%M:%S"

2019-09-21 15:38:00

2.2 更改当前时间

更改当前时间,命令格式为:date --set HH:MM:SS。

[root@strong ~]# date --set 15:40:20

Sat Sep 21 15:40:20 CST 2019

2.3 更改当前日期

更改当前日期,命令格式为:date --set YYYY-MM-DD。

[root@strong ~]# date --set 2019-09-25

Wed Sep 25 00:00:00 CST 2019

仅仅更改日期,时间会变为00:00:00,故更改日期时需把对应的时间加上,例如:

[root@strong ~]# date --set "2019-09-21 15:42:35"

Sat Sep 21 15:42:35 CST 2019。

3 CLOCK命令

该命令是用于访问硬件时钟的工具,也称为Real Time Clock(RTC),对应的设置保存在/etc/adjtime文件中。硬件时钟独立于操作系统,即使系统关闭,它仍然工作,用于从硬件时钟展示时间。

3.1 展示当前日期和时间

[root@strong ~]# hwclock

Sat 21 Sep 2019 03:51:24 PM CST -0.368709 seconds

3.2 设置日期和时间

设置日期和时间的命令为:hwclock --set --date "dd mmm yyyy HH:MM"

[root@strong ~]# hwclock --set --date "21 Sep 2019 16:02:25"

[root@strong ~]# hwclock

Sat 21 Sep 2019 04:02:35 PM CST -0.342764 seconds

3.3 同步日期和时间

可以使用hwclock命令在硬件时钟和当前系统时间直接互相同步。

3.3.1 系统时间同步到硬件时钟

[root@strong ~]# hwclock --systohc

3.3.2 硬件时钟同步到系统时间

[root@strong ~]# hwclock --hctosys

linux系统硬件时间和系统时间

在Linux中有硬件时钟与系统时钟两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。所有Linux相关指令与函数都是读取系统时钟的设定。因为存在两种不同的时钟,那么它们之间就会存在差异。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。

用date命令对系统时间进行设置后,并不会去修改硬件时钟,所以系统重启后,系统时间还算会去读取硬件时间,这就是为何date设置失效到原因。

因此,需要在设置系统时间后,将系统时间同步到硬件时钟。

clock/hwclock:

显示与设定硬件时钟(query and set the hardware clock (RTC)),两个命令相同。RTC=Real Time Clock,也就是硬件时钟。

命令参数:

-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)

命令示例:

1. 查看硬件时钟

2014年03月27日 星期四 11时03分50秒  -0.328520 seconds

[root@localhost ~]# hwclock -r

2014年03月27日 星期四 11时03分53秒  -0.797264 seconds

[root@localhost ~]# hwclock --show

2014年03月27日 星期四 11时04分01秒  -0.672267 seconds

2. clock与hwclock相同

[root@localhost ~]# type -a hwclock

hwclock is /sbin/hwclock

hwclock is /usr/sbin/hwclock

[root@localhost ~]# ll /sbin/hwclock /usr/sbin/hwclock

-rwxr-xr-x. 1 root root 46940 11月 22 23:27 /sbin/hwclock

lrwxrwxrwx. 1 root root    18 3月  26 19:27 /usr/sbin/hwclock - ../../sbin/hwclock

[root@localhost ~]# type -a clock

clock is /sbin/clock

[root@localhost ~]# ll /sbin/clock

lrwxrwxrwx. 1 root root 7 3月  26 19:27 /sbin/clock - hwclock

3. 同步系统时间到硬件时钟

[root@localhost ~]# hwclock2014年03月27日 星期四 18时50分51秒  -0.312960 seconds

[root@localhost ~]# date

2014年 03月 27日 星期四 10:50:55 CST

[root@localhost ~]# hwclock -w

[root@localhost ~]# hwclock2014年03月27日 星期四 10时51分15秒  -0.875387 seconds

同步网络时间到系统时间

[root@localhost ~]# ntpdate 210.72.145.4427 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=false

ARC=false

ZONE="Asia/Shanghai"

重启系统

[root@localhost ~]# reboot

linux 怎么设置硬件时钟 UTC?

在 /etc/adjtime 中设置,默认、推荐的设置为UTC。\x0d\x0a可以用下面命令自动生成 /etc/adjtime:\x0d\x0aUTC:\x0d\x0a\x0d\x0a# hwclock --systohc --utc\x0d\x0a\x0d\x0alocaltime:# hwclock --systohc --localtime

Linux系统下的NTP配置

第一步,选择最好的NTP服务地址

具体命令为ntpdate -q IP地址或域名

广东地区NTP优选结果如下:

①time4.cloud.tencent.com

②server time.asia.apple.com

③server cn.ntp.org.cn

④server ntp.aliyun.com

⑤server cn.pool.ntp.org

检查BIOS主板时间的命令

hwclock -r

NTP服务启停命令

sudo systemctl start/stop ntpd

检查查看ntp服务器有无和上层ntp连通

ntpstat

查看ntp服务器与上层ntp的状态

ntpq -pn

===server选项格式===

server host  [ key n ] [ version n ] [ prefer ] [ mode n ] [ minpoll n ] [ maxpoll n ] [ iburst ]

其中host是上层NTP服务器的IP地址或域名,随后所跟的参数解释如下所示:

◆ key: 表示所有发往服务器的报文包含有秘钥加密的认证信息,n是32位的整数,表示秘钥号。

◆ version: 表示发往上层服务器的报文使用的版本号,n默认是3,可以是1或者2。

◆ prefer: 如果有多个server选项,具有该参数的服务器优先使用。

◆ mode: 指定数据报文mode字段的值。

◆ minpoll: 指定与查询该服务器的最小时间间隔为2的n次方秒,n默认为6,范围为4-14。

◆ maxpoll:  指定与查询该服务器的最大时间间隔为2的n次方秒,n默认为10,范围为4-14。

◆ iburst: 当初始同步请求时,采用突发方式接连发送8个报文,时间间隔为2秒。

===同步硬件时钟===

ntp服务,默认只会同步系统时间。

如果想要让ntp同时同步硬件时间,可以设置/etc/sysconfig/ntpd文件,

在/etc/sysconfig/ntpd文件中,添加【SYNC_HWCLOCK=yes】这样,就可以让硬件时间与系统时间一起同步。

允许BIOS与系统时间同步,也可以通过hwclock -w 命令。

hwclock命令用来查询和设置硬件时钟。

hwclock -r 读取并打印硬件时钟

hwclock -s 将硬件时钟同步到系统时钟

hwclock -w  将系统时钟同步到硬件时钟

系统时钟与硬件时钟

在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。

参考文档:

Linux服务器NTP客户端配置——

NTP服务、客户端配置详解——


名称栏目:linux硬件时钟命令 linux时钟配置
转载源于:http://scjbc.cn/article/ddcdpcs.html

其他资讯