我通过以下方式将我的服务器(Ubuntu 12.04)的时区更改为UTC:
echo 'UTC' > /etc/timezone
dpkg-reconfigure --frontend noninteractive tzdata
当运行date
时,我可以看到现在的时间是UTC时间。然而,在/var/log/syslog中,它仍然显示先前设置的时区而不是UTC时间。为什么?如何使其在整个系统中生效?需要重新启动吗?谢谢。
我通过以下方式将我的服务器(Ubuntu 12.04)的时区更改为UTC:
echo 'UTC' > /etc/timezone
dpkg-reconfigure --frontend noninteractive tzdata
当运行date
时,我可以看到现在的时间是UTC时间。然而,在/var/log/syslog中,它仍然显示先前设置的时区而不是UTC时间。为什么?如何使其在整个系统中生效?需要重新启动吗?要让syslog守护程序使用新的时区设置,请使用以下命令:
sudo service rsyslog restart
我找到了需要重新启动的服务的名称:
ls /etc/init.d/*log*
一般而言,您需要重新启动系统上的每个进程才能看到新时区。如果只有一个或两个进程(例如syslog)是您关心的,那么您可以单独重启它们,但最好重新启动并使一切保持一致。
rsyslog
接受SIGHUP,可能是为了获取配置更改,但它并没有对新时区进行更新。这对我来说听起来像是一个漏洞或者疏忽。发送SIGHUP通常比重启服务更可取,但在这种情况下确实无济于事。 - CivFan