Ubuntu

logrotate 究竟對 apache 日誌文件做了什麼?(阿帕奇 2.4 - Ubuntu 14.04)

  • August 13, 2016

除了幾個基本的 VHOST 之外,我還有預設的 apache 和 apache 日誌配置。每當我嘗試查看我的 apache 日誌文件(error.log、access.log)時,我都會看到這些文件不斷地被重新排序和重新組織,不幸的是我不明白這是什麼原因或方法。

從我讀過的內容來看,這個日誌文件操作是由一個名為“logrotate”的實用程序執行的。

帶有手冊頁的描述

logrotate 旨在簡化生成大量日誌文件的系統的管理。它允許日誌文件的自動輪換、壓縮、刪除和郵寄。每個日誌文件可以每天、每週、每月或當它變得太大時處理。

我已閱讀以下資源:

上述資源對如何配置logrotate 提供了很好的技術解釋,但我無法對log rotate的意義做出常識性解釋,因此無法深入了解它的工作原理。我可以看到它對某些文件執行壓縮,這樣做的好處是顯而易見的。

我知道 logrotate 是一個通用實用程序,它可以處理許多服務的日誌文件 - 因此它的功能會根據每個配置發生變化 - 但是,在 Ubuntu 14.04 上的 apache 2.4 的上下文中,“logrotate”是做什麼的?

這個想法是您始終擁有一個包含最新條目的相對較新的主文件(例如 access_log 或 error_log)。當日誌變得太舊或太大時,logrotate 會創建歸檔文件,以便不會丟棄任何資訊(類似於 access_log-YYYYMMDD)。

因此,仍然可以訪問較舊的日誌,而不會在主日誌文件的大小方面失控。具有較少資訊的較小文件更易於閱讀和調試 - 特別是在這些日誌可能增長到幾 GB 的繁忙伺服器上。

例如,在 CentOS 上,Apache 日誌每 7 天輪換一次。

您可以隨意刪除存檔文件,也可以讓 logrotate 處理刪除。

查看man logrotate了解更多詳情。

引用自:https://unix.stackexchange.com/questions/188770