日志文件的日期和时间与“date”、“timezone”等不同

日志文件的日期和时间与“date”、“timezone”等不同

在 Ubuntu 14.04 vps 上,我的时区设置为 UTC/GMT。

root@Ubuntu:/# date 
Fri Mar 11 13:36:56 GMT 2016

root@Ubuntu:/# cat /etc/timezone 
Europe/London

root@Ubuntu:/# ls -l /etc/localtime 
lrwxrwxrwx 1 root root 33 Mar 11 13:20 /etc/localtime -> /usr/share/zoneinfo/Europe/London

但是,/var/log 中的日志文件全部提前了 9 个小时(韩国时间?)。例如

root@Ubuntu:/# tail -3 /var/log/auth.log.1

Mar 11 22:27:05 Ubuntu sshd[18170]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=211.99.249.89 
Mar 11 22:27:07 Ubuntu sshd[18170]: Failed password for invalid user cstrike from 211.99.249.89 port 38066 ssh2
Mar 11 22:27:07 Ubuntu sshd[18170]: Connection closed by 211.99.249.89 [preauth]

service rsyslog restart即使经过和之后,情况仍然如此dpkg-reconfigure tzdata

如何让所有内容都处于同一时区?

答案1

我遇到了同样的问题,并在 14.04 服务器上连续发出命令dpkg-reconfigure tzdata和。然后我在查看时启动了 ssh 连接service rsyslog restartauth.log

tail -f /var/log/auth.log

从那时起,日志消息都是正确的,正如此代码片段所示

Aug 16 09:02:40 myhost sshd[11913]: Accepted publickey ...
Aug 16 09:02:40 myhost sshd[11913]: pam_unix(sshd:session): opened ...
Aug 16 09:02:43 myhost sshd[11913]: pam_unix(sshd:session): closed ...
Aug 16 15:04:45 myhost sshd[12019]: Accepted publickey .... 
Aug 16 15:04:45 myhost sshd[12019]: pam_unix(sshd:session): opened ...
Aug 16 15:05:11 myhost sshd[12019]: pam_unix(sshd:session): closed ...

我看到你对(旧日志文件)进行了跟踪auth.log.1。更改时区不会追溯修改现有日志文件。这可能是问题所在吗?

答案2

(正如我回答的那样别处)这个命令在 Ubuntu 22.10 中为我完成了此操作:

$ sudo timedatectl set-timezone America/New_York

时区名称:

$ timedatectl list-timezones | less

确认:

$ timedatectl
           Local time: Sat 2022-11-26 10:52:08 EST
       Universal time: Sat 2022-11-26 15:52:08 UTC
             RTC time: Sat 2022-11-26 15:52:08
            Time zone: America/New_York (EST, -0500)

直到您重新启动,日志文件才会显示新的时区。sudo apache2ctl restart对 apache 日志执行此操作但获取所有日志(mysql,certbot 等):

$ reboot

我尽量不讨厌 Oracle,我真的尽力了。但为了/var/log/mysql/error.log使用我的时区设置,我必须采取以下额外步骤:

sudo nano /etc/mysql/mysql.conf.d/timestamps_system.cnf

并把MTK的解决方案有:

[mysqld]
log_timestamps = SYSTEM

相关内容