16.4 时间服务

调整时区

全局时区设置

  • 使用 bsdconfig 设置时区。

  • 使用命令行设置系统时区为上海时间:

# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

用户级时区

每个用户可以设置自己的时区,在用户的 shell 配置文件中设置 TZ 变量即可。

对于 sh、bash、zsh

export TZ=CST-8             # 设置时区为中国标准时间(CST-8)
# 或
export TZ=Asia/Shanghai      # 设置时区为上海

对于 csh

setenv TZ CST-8             # 在 shell 环境中设置时区为中国标准时间(CST-8)
# 或
setenv TZ "Asia/Shanghai"   # 在 shell 环境中设置时区为上海

定时计划

在 crontab 配置文件中,设置 CRON_TZ 变量即可。

在每天 08:00(CST-8 时区)执行 date 命令并将输出追加到 ~/date.log

将 RTC 时间视为地方时

兼容 Windows 时间,防止差 8 小时。

该文件存在则表示将机器的实时时钟视为地方时,不存在则表示将实时时钟视为 UTC 时间。

重启系统使该设置生效:

查看当前 CMOS 时钟设置:

参考文献

  • adjkerntz,即“adjust real-time clock (rtc) and kernel timezone offset”,调整实时时钟 (RTC) 与内核时区偏移。

时间服务

设置启动 NTP 服务

设置 NTP 服务在系统启动时自动启动:

设置 ntp 服务开机的时候启动

设置 NTP 服务在启动时自动同步时间:

调整时间服务器

编辑 /etc/ntp.conf 文件,添加附加时钟服务器:

NTP 服务

  • 启动 NTP 服务

  • 重启 NTP 服务

显示当前时间

显示当前系统日期和时间:

附录:手动同步时间

使用 Windows 时间服务器同步系统时间:

当时间相差较大时必须使用该命令,其他命令不会生效:

使用 pool.ntp.org 服务器更新系统时间,-u 表示使用非特权端口。

最后更新于

这有帮助吗?