2011-06-14 35 views
3

我遇到了這個奇怪的問題,我嘗試了一整個下午解決這個問題,用我從google找到的所有方法,但直到現在,似乎沒有任何工作。ubuntu postfix時區更改

我的Ubuntu服務器(10.04 LTS)時區是歐洲/赫爾辛基,它是正確的(當我運行「日期」命令時,結果顯示正確的時間)。但我的後綴似乎仍然使用UTC時區,因爲/var/log/mail.log中的所有時間比我現在的時間早3個小時。我也複製/ etc/localtime到/ var/spool/postfix/etc/localtime,但沒有任何幫助。 (cp/usr/share/zoneinfo/Europe/Helsinki/var/spool/postfix/etc/localtim也不起作用)。

我也試着運行dpkg-reconfigure tzdata,也不行,系統時間總是正確的,但只有mail.log出錯了。

任何人都可以給我一些建議嗎?

*我每次嘗試進行一些更改時都重新啓動了postfix。

+0

在我看來,Postfix的記錄日期在UTC,因爲這是和整個多個時區得到了最合理的辦法,以確保次郵件發送的。 – ewall 2011-06-14 13:01:11

+0

嗯,但必須有某種方式強制它使用另一個時區是不是? – JuLy 2011-06-15 04:42:58

回答

5

複製時區(在/ etc /本地時間)爲後綴的chroot環境應該做的伎倆,但有幾個假設:

  1. 設置是否正確,以及你的/ etc /時區文件?它應該只包含行Europe/Helsink。 (請注意,您可以使用命令sudo dpkg-reconfigure tzdata正確設置所有時區內容。)

  2. 如果Postfix使用syslogd進行日誌記錄,則可能是以UTC記錄日誌。您可以考慮更改爲syslogd-ng (or similar) which supports multiple timezones

  3. 您確定/ var/spool/postfix是Postfix正在使用的chroot嗎?如果這不是你的Postfix監獄的根,那麼可能不會有其他所有的配置文件。你可以look for the chroot option in the master.cf file,或這裏的another way to check。在任何情況下,您都希望Postfix正在使用的etc文件夾中的/ etc/localtime文件。

  4. 爲了以防萬一,請確保它是您要複製的「真實」時區文件,而不是符號鏈接(來自ln -s targetfilename linkfilename)。您可以使用命令file /etc/localtime來測試;如果它告訴你它是時區數據,請繼續並將其複製到Postfix的chroot;如果它告訴你它是一個符號鏈接,那麼你想複製原始的/usr/share/zoneinfo/Europe/Helsinki

+0

如何判斷postfix是否使用syslogd進行日誌記錄? – 2013-09-09 15:22:06

0

不完全是Ubuntu的,但因爲這個問題是在搜索結果的頂部: 對我來說,問題是rsyslog現在時區。修復:

vim /etc/sysconfig/clock 
ZONE="America/New_York"  # or your timezone, of course 
systemctl restart rsyslog 
# or 
/etc/init.d/rsyslog restart 

然後重新啓動postfix。

由於this發佈