如何在 CentOS 7 中设置时间?

在 Linux 系统,为了使日志中的时间记录准确和 crontab 定时任务按预期设置的时间运行,而不会出现相差8小时的情况,我们需要对时区进行设置。此外还应该重启服务,例如 Cron,则使用 systemctl restart crond 命令重启。

显示当前时间

执行下面的命令会显示当前系统的时区与时间。如果时区是 UTC,那么时间会和 Asia/Shanghai 的相差8小时。

1
date

设置时区

显示当前设置。

1
timedatectl

列出时区。

1
timedatectl list-timezones

设置时区为 Asia/Shanghai

1
timedatectl set-timezone Asia/Shanghai

设置时间

通常我们会选择设置网络时间同步,但如果需要将时间设为特定的时间,则可以通过替换时间并执行以下命令来完成。

1
timedatectl set-time '2021-01-01 01:01:01'

设置实时时钟

将实时时钟设为本地时区。

1
timedatectl set-local-rtc 1

还原为默认的 UTC 时区。

1
timedatectl set-local-rtc 0

设置网络时间同步

启用和禁用网络时间同步需要系统上安装 NTP,如果未安装则先用下面的命令安装。

1
yum install ntp

启用网络时间同步。

1
timedatectl set-ntp true

禁用时间同步。

1
timedatectl set-ntp false