网站建设资讯

NEWS

网站建设资讯

linux时钟对时的命令 linux时钟回拨

如何使用命令行更改Linux系统的日期和时间

方法一: Date 命令

崖州网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联从2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。

在 Linux 中, 你可以通过 date 命令来更改系统的日期和时间:

# date --set=‘NEW_DATE’

其中 NEW_DATE 是诸如 “Sun, 28 Sep 2014 16:21:42” 或者 “2014-09-29 16:21:42” 的可读格式的日期字符串。

日期格式也可以手动指定以获得更精确的结果:

# date +FORMAT --set=‘NEW_DATE’

例如:

# date +’%Y%m%d %H%m’ --set=‘ 1518’

你也可以用相对的方式地增加或减少一定的天数,周数,月数和秒数,分钟数,小时数。 你也可以把日期和时间的参数放到一个命令中。

# date --set=‘+5 minutes’# date --set=‘-2 weeks’# date --set=‘+3 months’# date --set=‘-3 months +2 weeks -5 minutes’

最后, 把硬件时钟设置为当前系统时钟:

# hwclock --systohc

运行 hwclock --systohc 的目的是将硬件时钟同时钟同步, 这可以更正硬件时钟的系统漂移(即时钟按照一定的速度走快或走慢)。

另一方面, 如果硬件时钟是正确的, 但系统时钟有误, 可以用下面的命令更正:

# hwclock --hctosys

在两种情况下, hwclock 命令都是将两个时钟同步。 否则, 重启后时间会是错误的, 因为当电源关闭时硬件时钟会记忆时间。 然而, 这对于虚拟机器并不适用, 因为虚拟机器并不能访问硬件时钟。

方法二: NTP

另一种使系统日期和时间保持精确的方法是使用 NTP (网络时间协议)。 在 Linux 上, ntpdate 命令通过 NTP 将系统时钟和公共 NTP 服务器同步。

你可以使用如下命令来安装 ntpdate:

在 Debian 及基于 Debian 的发行版上:

# aptitude install ntpdate

在基于 Ret Hat 的发行版上:

# yum install ntpdate

使用 NTP 同步系统时钟:

# ntpdate -u 《NTP 服务器名或IP》# hwclock --systohc

除了一次性使用 ntpdate 来同步时钟, 你也可以使用 NTP 守护进程(ntpd), 它会始终在后台运行, 不断地通过 NTP 来调整系统时钟。

linux系统如何设置时间同步?

可以使用ntpdate命令。ntpdate命令使用网络时间协议(NTP)设置日期和时间,通过轮询指定的确定正确时间的NTP服务器来设置本地日期和时间。它从指定的每个服务器获得了一些样本,并应用标准NTP时钟过滤器和选择算法来选择最好的样本。

命令格式:ntpdate 时间服务器

用法示例:$ ntpdate pool.ntp.org

设置时间同步脚本,虽然以上已经同步了时间,但是由于计时精度的原因,时间的误差会增大。可以通过设置计划任务,每天0点同步一下。

打开crontab进行编辑:$ crontab -e

在crontab任务文件添加:0 0 * * * root ntpate -s pool.ntp.org

-s参数指定将日志输出到syslog,而不是标准输出。

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中的时钟,其值是由1970年1月1日00:00:00 UTC时间至当前时间所经历的秒数总和。当Linux启动的时候,系统时钟会读取硬件时钟的设定,之后系统时钟独立运作。长时间运行两者可能将会产生误差。另外所有的Linux相关指令都是读取系统时钟指定的,如date。

我们这里讨论的是系统时间。

NTP,网络时间协议,使用 123/udp 端口进行网络时钟同步;NTP 是仍在使用中的最古老的网络传输协议之一(1985 年前开始)。

以前Linux时间同步基本是使用 ntpdate 和 ntpd 这两个工具实现的,但是这两个工具已经很古老了。

【注】ntpdate和ntpd是互斥的,两者不能同时使用。ntpd是步进式平滑的逐渐调整时间,而ntpdate是断点式更新时间。

RHEL/CentOS 7.x 已经将 chrony 作为默认时间同步工具了。

其他Linux (如 ubuntu) 使用 systemd-timesyncd 服务。

chrony 是 RedHat 开发的,它是网络时间协议(NTP)的另一种实现;

RHEL/CentOS 7.x 的默认时间同步工具;

chrony 可以同时做为 ntp 服务的客户端和服务端;安装完后有两个程序 chronyd、chronyc:

chronyd 是一个 daemon 守护进程,chronyc 是用来监控 chronyd 性能和配置参数的命令行工具。

系统版本:CentOS 7.5

chrony_server(relay):10.0.0.4

chrony_client:10.0.0.5

Edit file /etc/chrony.conf

默认已经启动,不需要调整

example:

配置 chrony

edit file: /etc/chrony.conf

再次用chronyc 命令检查,比较它与chronyd server的差异

systemd-timesyncd 是一个用于跨网络同步系统时钟的守护服务。它实现了一个 SNTP 客户端,但更轻量级,更集成systemd。

systemd-timesyncd 启动时会读取 /etc/systemd/timesyncd.conf 配置文件,内容如下:

你可以输入你希望使用的其它时间服务器,比如你自己的本地 NTP 服务器,在 NTP= 行上输入一个以空格分隔的服务器列表。

如果服务器可以直接连接internet,不用修改默认配置;如果在内网,需要单独指定。

在最新的 Ubuntu 版本中,timedatectl 替代了老旧的 ntpdate。默认情况下,timedatectl 在系统启动的时候会立刻同步时间,并在稍后网络连接激活后通过 socket 再次检查一次。

timesyncd 替代了 ntpd 的客户端的部分。默认情况下 timesyncd 会定期检测并同步时间。它还会在本地存储更新的时间,以便在系统重启时做时间单步调整。

通过 timedatectl 和 timesyncd 设置的当前时间状态和时间配置,可以使用 timedatectl status 命令来进行确认。

由于 timedatectl 的存在,各发行版已经弃用了 ntpdate,默认不再进行安装。

timedatectl

timedatectl status ,查看时间同步状态;

timedatectl set-ntp true ,开启网络时间同步;

timedatectl set-timezone ZONE ,设置时区。

NTP synchronized: yes 表示时间是同步状态。

查看服务状态以及从哪个ntp server同步时间。

NTP:软件层面实现,成本低。同步精度10ms左右。

PTP:需要网络接口具备在物理层提供时间戳的功能,同步精度优于100ns,局域网的节点需要使用支持PTP功能的交换机。局域网网络接点不支持PTP的话,只能同不到us,而且受网络背景流量影响。

linux设置系统时区命令

修改系统时间。

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

date命令将日期设置为2014年6月18日

----   date -s 06/18/14

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

----   date -s 14:20:50

将时间设置为2014年6月18日14点16分30秒(MMDDhhmmYYYY.ss)

----date 0618141614.30

请点击输入图片描述

hwclock/clock 命令查看、设置硬件时间

查看系统硬件时钟

hwclock  --show 或者

clock  --show

设置硬件时间

hwclock --set --date="06/18/14 14:55" (月/日/年时:分:秒)或者# clock --set --date="06/18/14 14:55" (月/日/年时:分:秒)

同步系统及硬件时钟。

下图中可以看到硬件和系统时钟相差半小时。可以使用hwclock或者clock进行同步,

硬件时钟与系统时钟同步:

# hwclock --hctosys 或者 # clock --hctosys  hc代表硬件时间,sys代表系统时间,即用硬件时钟同步系统时钟

系统时钟和硬件时钟同步:

# hwclock --systohc或者# clock --systohc  即用系统时钟同步硬件时钟

请点击输入图片描述

请点击输入图片描述

请点击输入图片描述

linux修改系统时间命令

inux修改时间命令是date-s+时分秒。

修改linux系统时间。root使用date指令:date -s

1、只修改日期,不修改时间,输入:date -s 2021-04-02。

2、只修改时间,输入:date -s 12:00:00。

3、同时修改日期时间,注意要加双引号,日期与时间之间有一空格,输入:date -s “2021-04-02 10:25:00”

4、修改完后,记得输入:clock -w。把系统时间写入CMOS修改时区不重启。在root下。

复制相应的时区文件,替换系统时区文件:

cp /usr/share/zoneinfo/主时区/次时区 /etc/localtime

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

5、文件复制命令—cp cp [参数] [源地址] [目的地址]主要参数描述如下:-a :此参数和同时指定“-dpR”参数相同 -d :在复制有符号连接的文件时,保留原始的连接。 -f :强行复制文件,不管要复制的文件是否已经存在于目标目录。 -I :覆盖现有文件之前询问用户。


分享题目:linux时钟对时的命令 linux时钟回拨
标题路径:http://njwzjz.com/article/hphhii.html