我的 Debian Linux 上有三个不同的时区

我的 Debian Linux 上有三个不同的时区

我使用的是 Debian 9.5.1。我使用该dpkg-reconfigure tzdata命令将时区设置为德黑兰。

现在我的 Linux 中有三个时区。我一起执行以下三个命令并查看日志:

root@debian:~: date
Mon Feb 18 14:01:21 +0330 2019

root@debian:~: tail -f /var/log/syslog
Feb 18 05:31:22 debian systemd[1]: Stopping Raise network interfaces...

root@debian:~: tail -f /var/log/apache2/error.log
2019-02-18 10:31:22 Error: Sms.Outbox

我必须做什么才能与我的时区同步?

答案1

大多数程序在启动时都会读取时区设置,并且不会期望它们在程序运行时发生更改。

因此,您需要重新启动时区不正确的所有程序:

root@debian:~: systemctl restart rsyslog

root@debian:~: systemctl restart apache2

您还应该更新 initramfs 文件,以便在启动过程中尽早设置正确的时区:

root@debian:~: update-initramfs -u

看起来 Apache 可能正在使用 UTC 时区。这可能是有意为之:可以使用TZ环境变量为特定程序设置特定时区,例如某种日志后处理要求某些服务的日志采用 UTC 时间。这可能被设置在/etc/apache2/envvars.

您的系统日志守护程序可能使用美国东部时区。这是以美国为中心的软件的常见“出厂默认设置”,并且可能是您将时区更改为德黑兰之前设置的时区。

(我本来希望 Debian 使用 UTC 作为出厂默认值,但也许有一些历史上的向后兼容性原因而不这样做。)

相关内容