CentOS 7 设置时区、日期和时间
在 CentOS 7 中,引入了一个叫 timedatectl 的设置程序。
timedatectl
命令对于 RHEL / CentOS 7 和基于 Fedora 21+ 的分布式系统来说,是一个新工具,它作为 systemd 系统和服务管理器的一部分,代替旧的传统的用在基于 Linux 分布式系统的 sysvinit 守护进程的date
命令。
- 查看系统时间方面的各种状态,使用
timedatectl status
。
[root@localhost etc]# timedatectl status
Local time: Fri 2019-04-19 01:23:57 CST
Universal time: Thu 2019-04-18 17:23:57 UTC
RTC time: Thu 2019-04-18 17:23:57
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
- 列出所有时区
timedatectl list-timezones
- 设置硬件时钟以协调世界时(UTC),可以使用
set-local-rtc boolean-value
选项:
# 确定硬件时钟是否设置为本地时区
timedatectl | grep local
# 将硬件始终设置为本地时区
timedatectl set-local-rtc 1
# 将硬件时钟设置为协调世界时(UTC)
timedatectl set-local-rtc 0
- 设置系统时区为上海
timedatectl set-timezone Asia/Shanghai
不考虑各个发行版的差异化,从更底层出发的话,修改时间时区比想象中要简单:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- 设置系统的日期和时间
# 设置日期
timedatectl set-time 20190419
# 设置时间
timedatectl set-time 01:36:47
# 设置日期和时间
timedatectl set-time '01:38:30 2019-04-19'
- 将 Linux 系统时钟同步到远程 NTP 服务器
NTP 即 Network Time Protocol(网络时间协议),是一个互联网协议,用于同步计算机之间的系统时钟。timedatectl 实用程序可以自动同步你的 Linux 系统时钟到使用 NTP 的远程服务器。
注意,你必须在系统上安装 NTP 以实现与 NTP 服务器的自动时间同步。
# 开始自动时间同步到远程 NTP 服务器
timedatectl set-ntp true
# 禁用 NTP 时间同步
timedatectl set-ntp false