nginx訪問日誌預設是在乙個檔案內一直追加,如此方式不利於時間段內的訪問記錄查詢,大檔案的讀寫資源開銷可大,所以一般會採用按天把日誌切割開來,用linux的計畫任務來操作任務。
設定linux計畫任務,首頁執行
[root@iz25gef96i2z ~]# crontab -e
在任務列表中新增:
55 23 * * * /root/cmd/split_log.sh
編寫切割日誌的shell指令碼split_log.sh,內容為:
## nginx 日誌檔案所在的目錄logs_path=/home/wwwlogs
## 獲取昨天的 yyyy-mm-dd
yesterday=$(date +"%y%m%d" -d "-24hour")
## 移動檔案
## 向 nginx 主程序傳送 usr1 訊號。usr1 訊號是重新開啟日誌檔案
kill -usr1 $(cat /usr/local/nginx/logs/nginx.pid)
注意split_log.sh的路徑,樣例指令碼是放到了/home/wwwlogs/history/下。
訪問日誌切割
日誌一直記錄總有一天會把整個磁碟佔滿。假如,有個系統每天都要往乙個目錄裡面寫日誌,一次1g,100g的硬碟也就100天就沒有了,所以有必要讓它自動切割,並指定任務計畫刪除老的日誌檔案。需要新增的內容為 customlog usr local apache2.4 bin rotatelogs l lo...
NGINX訪問日誌和日誌切割
當我們訪問nginx服務時,nginx會記錄日誌,nginx日誌分兩種,一種是訪問日誌,一種是錯誤日誌,訪問日誌記錄在 access.log 檔案中,錯誤日誌記錄在 error.log 檔案中 編譯安裝了nginx,預設情況下,access.log日誌會放在nginx安裝路徑的logs目錄中 roo...
nginx自動切割訪問日誌
web 訪問日誌 access log 記錄了所有外部客戶端對web伺服器的訪問行為,包含了客戶端ip,訪問日期,訪問的url資源,伺服器返回的http狀態碼等重要資訊。一條典型的web訪問日誌如下 規劃 1 要解決問題 2 nignx沒有自動分開檔案儲存日誌的機制。由於nginx它不會幫你自動分檔...