timedatectl

    在 Linux 运维中,通常使用此命令来设置或更改当前的日期、时间和时区,或启用自动系统时钟与远程 NTP 服务器同步,以确保 Linux 系统始终保持正确的时间。

    • 转换时间到选定的格式,默认为当前。
    • 设置系统时间。
    1. -h --help 显示帮助信息。
    2. --version 显示软件包版本。
    3. --no-pager 不用将输出通过管道传输到寻呼机(pager)。
    4. --no-ask-password 不提示输入密码。
    5. -H --host=[USER@]HOST 在远程主机上操作
    6. -M --machine=CONTAINER 在本地容器上操作。
    7. --adjust-system-clock 更改本地 RTC 模式时调整系统时钟。
    8. --monitor 监控systemd-timesyncd的状态
    9. -p --property=NAME 仅显示此名称的属性
    10. -a --all 显示所有属性,包括空属性
    11. --value 显示属性时,只打印值
    12. status 显示当前的时间设置。
    13. set-time TIME 设置系统时间。
    14. set-timezone ZONE 设置系统时区。
    15. list-timezones 显示已知时区。
    16. set-local-rtc BOOL 控制 RTC 是否在当地时间。(BOOL 的值可以是 1 / true 0 / false
    17. timesync-status 显示 systemd-timesyncd 的状态。
    18. show-timesync 显示 systemd-timesyncd 的属性。

    显示系统当前时间和日期

    1. $ timedatectl status
    2. Local time: 2022-04-08 17:06:40 CST
    3. Universal time: 2022-04-08 09:06:40 UTC
    4. RTC time: 2022-04-08 17:04:02
    5. Time zone: Asia/Shanghai (CST, +0800)
    6. NTP enabled: n/a
    7. NTP synchronized: no
    8. RTC in local TZ: yes
    9. DST active: n/a

    显示系统所有可用的时区

    1. $ timedatectl show
    2. Unknown operation show
    3. $ timedatectl list-timezones
    4. Africa/Abidjan
    5. Africa/Addis_Ababa

    将本地时区从上海(Asia/Shanghai)设置为阿姆斯特丹(Europe/Amsterdam)

    1. $ timedatectl set-timezone UTC

    设置系统时间(格式:HH:MM:SS)

    1. $ timedatectl set-time "07:25:46"

    设置系统日期(格式:YYYY-MM-DD)

    如果只设置日期,那么时间将默认设置为 “00:00:00″(建议同时设置日期和时间)

    将硬件时钟(RTC)设置为本地时区(不建议,RTC 时钟统一使用 UTC 更恰当,避免在时区更改和夏令时调整方面产生各种问题)

    1. $ timedatectl set-local-rtc 1
    1. $ timedatectl set-local-rtc 0

    启用 NTP 自动时间同步

    1. $ timedatectl set-ntp true

    禁用 NTP 自动时间同步

    查看 systemd-timesyncd 服务的状态

    1. $ timedatectl timesync-status
    2. Server: 91.189.94.4 (ntp.ubuntu.com)
    3. Poll interval: 17min 4s (min: 32s; max 34min 8s)
    4. Leap: normal
    5. Version: 4
    6. Stratum: 2
    7. Reference: 91EECB0E
    8. Precision: 1us (-23)
    9. Root distance: 29.922ms (max: 5s)
    10. Offset: +2.497ms
    11. Delay: 199.540ms
    12. Jitter: 5.834ms
    13. Packet count: 6
    14. Frequency: +13.039ppm

    systemd-timedated 可能默认配置了谷歌的 NTP 服务器(如 time1.google.com),为了顺利完成网络时间同步,您可以编辑 /etc/systemd/timesyncd.conf 文件添加自己的 NTP 服务器地址。