華納雲:Linux中如何用logrotate管理每日增長的日誌

nhicloud發表於2024-01-24

在Linux系統中,logrotate 是一個用於管理日誌檔案的工具,它可以輕鬆地處理日誌檔案的輪轉、壓縮、刪除等操作,以防止日誌檔案無限增長佔用磁碟空間。以下是使用 logrotate 管理每日增長的日誌檔案的一般步驟:

步驟:

安裝 logrotate(如果未安裝):

sudo apt-get install logrotate   # 適用於 Debian/Ubuntu 系統
sudo yum install logrotate       # 適用於 CentOS/RHEL 系統

配置 logrotate:

logrotate 的配置檔案通常位於 /etc/logrotate.conf,並可以包含 /etc/logrotate.d/ 目錄中的其他配置檔案。下面是一個簡單的示例配置:

/path/to/your/log/file {
    daily               # 指定輪轉的頻率,可以使用 daily、weekly、monthly
    rotate 7            # 保留的輪轉檔案數
    compress            # 壓縮輪轉後的檔案
    create 0644 root root   # 建立新的日誌檔案時的許可權和所有者
    postrotate
        /bin/kill -HUP `cat /var/run/your_app.pid 2>/dev/null` 2>/dev/null || true
    endscript
}

替換 /path/to/your/log/file 為你的日誌檔案的實際路徑。這個配置示例表示每天輪轉日誌檔案,保留最近 7 個輪轉後的日誌檔案,進行壓縮,建立新的日誌檔案時許可權為 0644,所有者為 root。

測試 logrotate 配置:

你可以使用以下命令手動測試配置是否正常:

logrotate -d /etc/logrotate.conf

這會以除錯模式執行 logrotate,並輸出執行的輪轉操作,但不實際進行輪轉。

設定定時任務:

logrotate 預設透過 cron 定時執行。確保 cron 服務正在執行,並檢查 /etc/cron.daily/logrotate 等檔案是否存在。

你也可以手動執行 logrotate,例如:

logrotate /etc/logrotate.conf

或者將其新增到 crontab 中:

0 0 * * * /usr/sbin/logrotate /etc/logrotate.conf

上述 crontab 示例表示每天午夜執行一次 logrotate。

以上步驟是使用 logrotate 管理每日增長的日誌檔案的一般過程。可以根據實際需求調整配置檔案中的引數。


來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/70017159/viewspace-3005007/,如需轉載,請註明出處,否則將追究法律責任。

相關文章