linux7设置时间,CentOS 7 设置日期和时间

现代操作系统分为以下两种类型的时钟:

实时时钟(Real-Time Clock,RTC),通常称为硬件时钟(一般是系统主板上的集成电路),它完全独立于操作系统的当前状态,即使在计算机关闭时也能运行。

系统时钟,也称为软件时钟,由内核维护,其初始值基于实时时钟。一旦系统启动并且系统时钟被初始化,系统时钟就完全独立于实时时钟。

系统时间总是保持在协调世界时(UTC),并在应用程序中根据需要转换为本地时间。本地时间是在当前时间区的实际时间(中国即北京时间),并考虑到夏令时(Daylight Saving Time,DST),Red Hat Enterprise Linux 7提供了三个命令行工具,可以用来配置和显示关于系统日期和时间的信息:timedatectl 实用程序,它是Red Hat Enterprise Linux 7中的新工具,是systemd的一部分;传统的 date 命令;以及用于访问硬件时钟的 hwclock 实用程序。

使用timedatectl命令

timedatectl 实用程序作为 systemd 系统和服务管理器的一部分发布,允许您检查和更改系统时钟的配置。您可以使用此工具更改当前日期和时间、设置时区,或启用系统时钟与远程服务器的自动同步。

显示当前日期和时间

[[email protected] ~]# timedatectl

Local time: Fri 2018-07-20 17:46:09 CST

Universal time: Fri 2018-07-20 09:46:09 UTC

RTC time: Fri 2018-07-20 09:46:09

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

NTP enabled: yes

NTP synchronized: yes

RTC in local TZ: no

DST active: n/a

[[email protected] ~]# timedatectl

Local time: 本地时间(中国也就是北京时间,CST)

Universal time: 协调世界时

RTC time: 硬件时间

Time zone: 时区

NTP enabled: 是否启用NTP(网络时间协议)

NTP synchronized: NTP是否已经同步时间

RTC in local TZ: 是否将RTC时间设置为本地时区

DST active: 夏令时是否可用-n/a(Not applicable,不可用)

对chrony或ntpd状态和配置的更改不会立即被timedatectl发现,如果对这些工具的配置或状态进行了更改,请输入以下命令

[[email protected] ~]# systemctl restart systemd-timedated.service

修改当前时间

[[email protected] ~]# timedatectl set-time 12:12:12  //修改为12:12:12

该命令更新系统时间和硬件时钟,其结果类似于同时使用date -set(设置系统时间)和hwclock -systohc(将系统时间写入硬件时间,-systohc同-w)命令,如果出现以下提示

Failed to set time: Automatic time synchronization is enabled

是因为启用了NTP

[[email protected] ~]# timedatectl

Local time: Fri 2018-07-20 17:46:09 CST

Universal time: Fri 2018-07-20 09:46:09 UTC

RTC time: Fri 2018-07-20 09:46:09

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

NTP enabled: yes

NTP synchronized: yes

RTC in local TZ: no

DST active: n/a

手动关闭即可

[[email protected] ~]# timedatectl set-ntp false   //禁用NTP

默认情况下,系统配置硬件时间使用UTC,使硬件时间使用本地时间(北京时间),请使用以下命令

[[email protected] ~]# timedatectl set-local-rtc boolean

若要配置系统以在本地时间保持时钟,请用“yes”(或者y,true,t,1)替换boolean,若要配置系统使用UTC,请用NO(或者n,false,f,0)替换boolean,默认值为no

修改当前日期

[[email protected] ~]# timedatectl set-time 2011-12-01  //设置日期为2011年12月1日

请注意,只更改日期而不指定时间将会导致时间设置为00:00:00,设置完整时间格式如下

[[email protected] ~]# timedatectl set-time "2022-10-10 11:11:11"

设置时区

列出所有时区

[[email protected] ~]# timedatectl list-timezones

设置时区为 亚洲/上海

[[email protected] ~]# timedatectl set-timezone Asia/Shanghai

查找亚洲时区

[[email protected] ~]# timedatectl list-timezones |grep Asia

设置时间同步

timedatectl命令还允许您使用NTP协议,启用与远程服务器的系统时钟自动同步;启用NTP将启用chronyd或ntpd服务,具体取决于安装的是哪个。

boolean

请用“yes”(或者y,true,t,1)替换boolean,若要禁用,请用NO(或者n,false,f,0)替换boolean

如果NTP未安装服务,该命令将失败

使用date命令设置时间

date实用程序适用于所有Linux系统,并允许您显示和配置当前日期和时间,在脚本中经常使用它以自定义格式显示有关系统时钟的详细信息。与timedatectl不同的是date命令只设置系统时间,而不设置硬件时间(RTC)

[[email protected] ~]# date

Mon Jul 23 11:47:04 CST 2018

默认情况下,date命令显示本地时间,若要以UTC显示时间,请使用--utc或-u命令行选项运行命令:

[[email protected] ~]# date -u

Mon Jul 23 03:48:21 UTC 2018

可以通过在命令行上提供选项来自定义显示信息的格式:

[[email protected] ~]# date +"%Y-%m-%d %H:%M"

2018-07-23 11:53

常用控制项见下表

控制序列

描述

%H

HH格式的小时(例如17)

%M

MM格式的分钟(例如30)

%S

SS格式的第二个(例如24)

%d

DD格式的月份日期(例如16)

%m

MM格式的月份(例如09)

%Y

YYYY格式的年份(例如2016)

%Z

时区缩写(例如CEST)

%F

YYYY-MM-DD格式的完整日期(例如2016-09-16)。此选项等于%Y-%m-%d

%T

HH:MM:SS格式的完整时间(例如,17:30:24)。此选项等于%H:%M:%S

设置时间

设置本地时间为20:20:20

[[email protected] ~]# date -s 20:20:20

Mon Jul 23 20:20:20 CST 2018

若要设置utc时间为20:20:20

[[email protected] ~]# date -s 20:20:20 -u

Mon Jul 23 20:20:20 UTC 2018

设置日期

[[email protected] ~]# date -s 2012-12-12

Wed Dec 12 00:00:00 CST 2012

设置完整日期

[[email protected] ~]# date -s "2012-12-12 12:12:12"

Wed Dec 12 12:12:12 CST 2012

使用hwclock命令

hwclock是用于访问硬件时钟的实用程序,硬件时钟存储的值为:年、月、日、小时、分钟和秒。不能存储时间标准、本地时间或协调世界时(UTC),也不能设置夏令时(DST)。hwclock实用程序将其设置保存在/etc/adjtime文件中,该文件是使用您所做的第一个更改创建的,例如,当您手动设置时间或将硬件时钟与系统时间同步时。

在Red Hat Enterprise Linux 6中,该hwclock命令在每次系统关闭或重新启动时自动运行,但它不在Red Hat Enterprise Linux 7中。当系统时钟通过网络时间协议(NTP)或精确时间协议(PTP)同步时),内核每11分钟自动将硬件时钟与系统时钟同步。

显示当前硬件时间

[[email protected] ~]# hwclock

Wed 12 Dec 2012 12:07:24 AM CST -0.672664 seconds

设置硬件时间

如果要将日期和时间设置为特定值(例如,“2016年10月21日21:17”),请root按以下格式运行命令:

[[email protected] ~]# hwclock --set --date "21 Oct 2016 21:17"

设置硬件时间为UTC

[[email protected] ~]# hwclock --set --date "21 Oct 2016 21:17" -u

同步时间和日期

设置硬件时间为系统时间

设置系统时间为硬件时间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值