MongoDB在CentOS上的日志輪轉如何設置

centos系統中,利用logrotate工具輕松管理mongodb日志,實現日志文件的自動輪轉和壓縮。以下步驟將指導您完成配置:

  1. 安裝logrotate: 首先,確保系統已安裝logrotate。若未安裝,請執行以下命令:

    sudo yum install logrotate
  2. 創建logrotate配置文件: 創建一個新的logrotate配置文件,例如/etc/logrotate.d/mongodb,并寫入以下內容:

    /var/log/mongodb/mongod.log {     daily     rotate 7     compress     notifempty     create 640 mongodb mongodb     postrotate         if [ -f /var/run/mongodb.pid ]; then             kill -SIGUSR1 $(cat /var/run/mongodb.pid)         fi     endscript }

    此配置文件定義了MongoDB日志文件路徑(/var/log/mongodb/mongod.log)以及以下參數:

    • daily:每日輪轉日志。
    • rotate 7:保留7個舊日志文件。
    • compress:壓縮舊日志文件。
    • notifempty:日志文件為空則不輪轉。
    • create 640 mongodb mongodb:創建新日志文件,權限為640,所有者和組為mongodb。
    • postrotate…endscript:日志輪轉后執行的腳本,發送SIGUSR1信號給MongoDB進程,使其重新打開日志文件。 注意,cat /var/run/mongodb.pid 已修改為更安全的 $(cat /var/run/mongodb.pid),防止命令注入漏洞。
  3. 設置文件權限: 確保配置文件具有正確的權限:

    sudo chmod 644 /etc/logrotate.d/mongodb
  4. 測試配置文件: 執行以下命令測試配置是否正確:

    sudo logrotate -d /etc/logrotate.d/mongodb

    -d 參數用于測試模式,不會實際執行輪轉操作,只會顯示logrotate將要執行的操作。 如果沒有任何錯誤信息,則表示配置成功。

現在,MongoDB日志的自動輪轉已配置完成。logrotate將根據配置文件設置定期執行日志輪轉操作。 建議定期檢查日志文件大小和logrotate運行日志,以確保其正常運行。

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享