如何修改 Linux 系统时间(详细指南)
为什么需要修改 Linux 时间?
Linux 系统时间直接影响:
- 日志记录准确性
- 定时任务(cron)的执行
- 证书验证和网络安全协议
- 数据库事务同步
- 文件创建/修改时间戳
错误的时间可能导致系统故障、数据不一致或安全漏洞。
检查当前时间与时区
在修改前,先确认系统状态:
# 查看硬件时钟(BIOS时间) sudo hwclock --show # 检查时区设置 timedatectl
输出示例:
Local time: Mon 2025-08-21 14:30:00 CST
Universal time: Mon 2025-08-21 06:30:00 UTC
RTC time: Mon 2025-08-21 06:30:00
Time zone: Asia/Shanghai (CST, +0800)
修改时区(3种方法)
方法1:使用 timedatectl
(推荐)
# 列出所有时区 timedatectl list-timezones | grep -i asia # 设置时区(例如上海) sudo timedatectl set-timezone Asia/Shanghai
方法2:创建符号链接
sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
方法3:交互式选择(旧系统)
sudo tzselect
修改系统时间(软件时钟)
临时修改(重启失效)
# 格式:月日时分年.秒 sudo date 082114302025.30 # 设置为 2025-08-21 14:30:30
永久修改(同步到硬件时钟)
# 先设置系统时间 sudo date -s "2025-08-21 14:30:00" # 将系统时间写入硬件时钟 sudo hwclock --systohc
使用 timedatectl
修改
sudo timedatectl set-time "2025-08-21 14:30:00"
修改硬件时钟(RTC)
# 直接设置硬件时间 sudo hwclock --set --date "2025-08-21 14:30:00" # 将硬件时间同步到系统时间 sudo hwclock --hctosys # 查看硬件时间 sudo hwclock --show
自动时间同步(NTP服务)
使用 systemd-timesyncd
(多数现代发行版内置)
# 启用 NTP 同步 sudo timedatectl set-ntp true # 检查同步状态 timedatectl status
安装 Chrony(更精确)
sudo apt install chrony # Debian/Ubuntu sudo yum install chrony # RHEL/CentOS # 启动服务 sudo systemctl enable --now chronyd # 验证同步 chronyc tracking
双系统时间冲突解决方案(Windows/Linux)
问题原因:
Windows 使用本地时间(Local-time),Linux 默认使用 UTC 时间。
解决方法:
# 让 Linux 使用本地时间 sudo timedatectl set-local-rtc 1 --adjust-system-clock # 恢复 UTC 时间(推荐) sudo timedatectl set-local-rtc 0
或在 Windows 中修改注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
添加 DWORD 值 RealTimeIsUniversal = 1
常见问题排查
-
权限不足
所有时间命令需sudo
权限。 -
NTP 同步失败
检查防火墙是否放行 UDP 123 端口:sudo ufw allow 123/udp
-
时区生效延迟
重启系统服务:sudo systemctl restart systemd-timedated
-
硬件时间错误
更新 BIOS 电池(CMOS 电池失效)。
最佳实践
- 生产服务器务必启用 NTP 同步
- 修改时间前备份关键数据
- 避免频繁手动调整时间
- 双系统用户统一使用 UTC 时间
重要提示:
修改时间可能导致正在运行的应用程序(如数据库、加密服务)出现异常,建议在维护窗口操作。
引用说明
- Linux man-pages 文档:
man date
,man hwclock
,man timedatectl
- Systemd 官方文档:时间和日期配置
- Chrony 用户手册
- NTP 官方协议标准 RFC 5905
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8404.html