在 Ubuntu 系统中设置服务器时间通常涉及以下步骤,涵盖自动同步和手动配置两种方式。以下是详细操作指南:
一、检查当前时间状态
timedatectl status
- 输出示例:
Local time: Wed 2023-10-18 15:30:00 UTC Universal time: Wed 2023-10-18 15:30:00 UTC RTC time: Wed 2023-10-18 15:30:00 Time zone: Etc/UTC (UTC, +0000) System clock synchronized: yes NTP service: active RTC in local TZ: no
- 关键信息:时区(Time zone)、NTP 是否启用(NTP service)、系统时间同步状态。
二、设置时区
1. 列出所有可用时区
timedatectl list-timezones
2. 设置时区(如 Asia/Shanghai
)
sudo timedatectl set-timezone Asia/Shanghai
3. 验证时区
date
# 或
timedatectl
三、自动同步时间(NTP 服务)
1. 启用 NTP 时间同步
sudo timedatectl set-ntp true
2. 检查 NTP 服务状态
systemctl status systemd-timesyncd
3. 安装更强大的 NTP 工具(可选)
- Chrony(推荐):
sudo apt install chrony sudo systemctl restart chrony
- ntpd:
sudo apt install ntp sudo systemctl restart ntp
4. 配置 NTP 服务器(如自定义服务器)
编辑配置文件(以 Chrony 为例):
sudo nano /etc/chrony/chrony.conf
- 添加或替换为国内 NTP 服务器:
server ntp.aliyun.com iburst server cn.pool.ntp.org iburst
重启服务:
sudo systemctl restart chrony
四、手动设置时间
1. 禁用 NTP 同步(避免覆盖手动设置)
sudo timedatectl set-ntp false
2. 手动设置时间
- 方法 1:使用
timedatectl
sudo timedatectl set-time "2023-10-18 15:30:00"
- 方法 2:使用
date
sudo date -s "2023-10-18 15:30:00"
3. 同步硬件时钟(RTC)
sudo hwclock --systohc
五、验证时间配置
1. 检查系统时间
date
2. 检查硬件时钟
sudo hwclock --show
3. 检查 NTP 同步状态(Chrony)
chronyc tracking
六、常见问题
1. NTP 同步失败
- 检查防火墙是否放行 UDP 123 端口。
- 查看日志:
journalctl -u systemd-timesyncd
2. 时区设置无效
- 确保时区名称正确(区分大小写)。
- 重启系统或服务:
sudo systemctl restart systemd-timesyncd
3. 时间偏差较大
- 手动强制同步:
sudo chronyc -a makestep
通过以上步骤,您可以根据需求灵活配置 Ubuntu 服务器的时间。推荐优先使用 NTP 自动同步以确保时间准确性,尤其是在生产环境中。