
除了時不時地進入並清除日誌之外,我們沒有任何日誌管理。我們的伺服器不會獲得太多流量(大多數日誌來自我們的即時聊天)。但這讓我想知道,應該採用什麼樣的日誌管理程式來正確管理日誌?您是否將其設定為僅記錄特定的內容,從而清除日誌這麼多天?訪問日誌應保留多長時間?其他日誌應該保留多長時間?
答案1
甚至我的日誌檔也因此變得很大。我使用幾乎所有 Linux 發行版都可用的標準 logrotate。
我已將其配置為每天記錄太大的內容,每週記錄其他內容,依此類推。
試一試。我甚至用 xz 壓縮它們,因此文件相對較小,可以下載到您的個人盒子中進行檢查,而不會造成任何一方的頻寬損失。
有關詳細信息,請參閱 man logrotate 和 man logrotate.conf。
答案2
首先了解您的網頁伺服器會附加到您的 access.log,因此您確實應該將其大小保持在最小。當我的 apache 伺服器的日誌檔案超過 4 GB 時,它們載入頁面的速度就會變慢(我可能是唯一注意到的)。
嘗試一下 awstats。它將創建基於 html 的文件,使您能夠很好地了解流量,並且還會清除您擁有的巨大 access.log 文件。第一次運行這個應用程式時,會花費很長時間,因為 access.log 太大了。
如果 awstats 或 logrotate 不適合你,你總是可以使用 cron 每天對 access.log 進行一次核對:
echo "" > access.log
但我個人只在我有一個巨大的日誌檔案需要快速截斷時才使用它。像這樣截斷日誌確實很浪費。
答案3
使用計時日誌建立每小時日誌檔案或每日日誌檔案。看看如何使用它。
TransferLog "|/usr/sbin/cronolog /web/logs/%Y/%m/%d/access.log"
ErrorLog "|/usr/sbin/cronolog /web/logs/%Y/%m/%d/errors.log"
使用 cronjob 壓縮以上日誌以防止磁碟填滿並將資料保留幾天(可能是一個月前的資料)。
或使用 logrotate 旋轉日誌(如上面的答案所述)