linux系統伺服器,nginx日誌切割儲存教程。

zhilian發表於2024-02-08

當涉及到Nginx日誌切割和儲存時,可以使用logrotate工具。下面是一個簡單的教程來幫助您實現這一目標:

  1. 首先,確保您已經安裝了logrotate工具。在大多數Linux發行版上,可以使用以下命令進行安裝:
sudo apt-get install logrotate  # Debian/Ubuntu
sudo yum install logrotate      # CentOS/RHEL
  1. 建立一個用於Nginx日誌的配置檔案。在終端中,使用文字編輯器(如vi或nano)建立一個新檔案,例如  nginx-logrotate.conf
sudo nano /etc/logrotate.d/nginx-logrotate.conf
  1. 在開啟的配置檔案中,輸入以下內容:
/path/to/nginx/logs/*.log {
    daily                     # 每天切割日誌檔案
    missingok                 # 如果日誌檔案不存在也不會報錯
    rotate 7                  # 保留最近7個日誌檔案
    compress                  # 壓縮舊的日誌檔案
    delaycompress             # 延遲壓縮,直到下次切割時才壓縮
    notifempty                # 如果日誌檔案為空,則不切割
    create 0644 <user> <group> # 設定新生成的日誌檔案的許可權和所有者,用具體的使用者和組替換<user>和<group>
    sharedscripts             # 在所有日誌檔案都處理完畢後,執行一次指令碼
    postrotate                # 切割後執行的命令
        /usr/sbin/nginx -s reopen
    endscript                 # 指令碼結束}

請注意,您需要將  /path/to/nginx/logs/替換為您的實際Nginx日誌目錄的路徑,並將  <user>和  <group>替換為合適的使用者和組。

  1. 儲存並關閉配置檔案。

現在,logrotate將按照指定的配置每天切割Nginx日誌檔案,並保留最近7個日誌檔案。您可以根據需要調整配置檔案中的選項,例如保留的日誌檔案數量、切割頻率等。

最後,確保定期檢查和清理舊的日誌檔案,以免佔用過多的磁碟空間。您可以使用crontab或其他定時任務工具來定期執行清理命令,例如刪除超過一定時間的舊日誌檔案。


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

相關文章