Amavis
為什麼 Amavis 在啟動時給出超出重試限制/文件存在錯誤?
我注意到我的郵件伺服器出現了一些
service temporarily unavailable
錯誤並且無法發送電子郵件,所以在深入研究後我發現原因是 Postfix 無法連接到 Amavis。當我查看 Amavis 的日誌記錄(我在 中找到
/var/log/mail.warn
)時,我發現了這一點:[snip] (!!)TROUBLE in pre_loop_hook: db_init: BDB no dbS: BDB0002 __fop_file_setup: Retry limit (100) exceeded, File exists. at (eval 91) line 318. [snip] (!)_DIE: Suicide () TROUBLE in pre_loop_hook: db_init: BDB no dbS: BDB0002 __fop_file_setup: Retry limit (100) exceeded, File exists. at (eval 91) line 318.
為什麼會發生這種情況,我該如何解決?
我正在執行 Debian,我相信在這開始發生之前不久我已經更新了軟體包並重新啟動了,所以也許更新破壞了一些東西。
我正在自我回答這個問題,因為我找到了解決方案,但我仍然不知道為什麼會發生這種情況,所以如果其他人對此有任何見解,我很樂意聽到。
/var/lib/amavis/db
當我嘗試手動執行時,我看到了一個參考amavis-new
,因此我將該文件夾移至db.bak
(在 Amavis 抱怨該文件夾不存在後,創建了一個具有相同amavis:amavis 750
權限的新文件夾)。在那之後,Amavis 能夠成功啟動,我的電子郵件又開始投遞了。如前所述,我仍然不確定為什麼會發生這種情況,儘管它可能與問題中提到的包更新有關。
我也不知道那個 Amavis 數據庫中是否有什麼重要的東西,因此我把它移到一邊,而不是完全刪除它。