我在时区为 A 的 1604 系统上,使用 timedatectl set-timezone B 将时区设置为 B 后,一切正常。(“timedatectl status”为 B,“date”命令显示正确的时间,在我创建新文件后文件时间是正确的)
但我发现 rsyslogd 仍然在时区 A 上工作,crond 也在时区 A 上,不确定是否有其他守护进程在旧时区上运行,所以我重新启动系统以避免这种情况。
为什么这些守护进程没有更新新的时区?
答案1
是的。您需要在系统上重新启动 cron 和 rsyslog 服务。它们在启动时获取时区,并且不会检测整个系统的时区变化。
service cron restart
service rsyslog restart
答案2
systemd
在 Ubuntu 16.04 及更高版本中,重新启动服务最正确的命令是:
sudo systemctl restart cron
sudo systemctl restart rsyslog
尽管service <name> stop/start/restart
可以工作,但是该语法已被弃用,而改为使用systemctl stop/start/restart <name>
。