个人Linux虚拟机关机或者挂起之后再次开机,系统时间停留在之前关机的时间,每次开机都要重新设置时间非常麻烦,那么就需要一个设置,使得Linu环境能自动同步网络事件。在 Linux 环境下自动同步网络时间,通常会使用 NTP(Network Time Protocol)服务。NTP 能够动同步网络时间,使系统保持时间的精确性。以下是在大部分基于 Linux 的系统上设置 NTP 时间同步的步骤:
Linux 环境自动同步网络时间
1. 安装 NTP 服务
首先,确保系统已经安装了 NTP。可以通过包管理工具来安装它。对于不同的 Linux 发行版,安装命令可能略有不同。
对于基于 Debian(如 Ubuntu)的系统:
sudo apt update
sudo apt install ntp
对于基于 Red Hat(如 CentOS 或 Fedora)的系统:
sudo yum install ntp
或
sudo dnf install ntp
2. 配置 NTP
安装完 NTP 之后,可以通过编辑 /etc/ntp.conf
文件来配置 NTP 服务。可以在这个文件中指定想要同步的 NTP 服务器。
sudo vim /etc/ntp.conf
在这个文件中,可以找到一些以 server
开头的行,使用#号将其注释掉,使用下面的公共 NTP 服务器pool.ntp.org
地址替换它们,将下面几行添加到该文件末尾:
server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org
server 3.pool.ntp.org
保存并关闭文件。
3. 启动 NTP 服务
配置好 NTP 服务器后,需要重新启动 NTP 服务,以使更改生效:
sudo systemctl restart ntp
4. 确认 NTP 服务正在运行
确认 NTP 服务正在正确运行:
sudo systemctl status ntp
- Active: 该行应显示
active (running)
,这意味着服务已启动且正在运行。 - Loaded: 这一行会告诉你服务的配置文件是否正确加载,应显示类似于
loaded (/lib/systemd/system/ntp.service; enabled; vendor preset: enabled)
的信息。
例如下面提示即为正在运行:
Loaded: loaded (/etc/init.d/ntp; bad; vendor preset: enabled)
Active: active (running) since 二 2023-12-12 01:30:53 CST; 4 months 25 days ago
5. 检查时间同步状态
可以使用 ntpq -p
命令来查看当前的时间同步状态:
ntpq -p
这个命令会显示与你的服务器同步的远程 NTP 服务器列表及其状态。
6. 设置 NTP 服务自启动
确保 NTP 服务在系统启动时自动启动:
sudo systemctl enable ntp
7. 查看系统时间
Date
可以发现时间已经成功同步为网络时间。