對於nginx日誌,可以定時的對日誌進行切割以便日後更好的定位業務可能出現的問題,可以根據自己的需求對日誌進行每半小時一小時每天進行切割。下面來介紹下nginx的切割方法。
切割指令碼
cut_log.sh
#!/bin/bash
log_path=
"/var/log/nginx/"
record_time=
$(date -d "yesterday" +%y-%m-%d+%h:%m)
pid=/var/run/nginx/nginx.pid
mv$/access.log $/access.$.log
mv$/error.log $/error.$.log
kill -usr1 `
cat $pid`
通過修改自己的log_path同樣的可以定義切割後新的log檔名稱,年月日顯示的格式通過record_time定義。
定時任務
安裝定時任務(已安裝略過)
yum install crontabs
編輯定時任務
crontab -e
輸入以下定時任務(每天0點切割日誌)
0 0 0 /1 * ? /root/cut_log.sh
重啟定時任務
service crond restart
nginx日誌切割
web 訪問日誌 access log 記錄了所有外部客戶端對web伺服器的訪問行為,包含了客戶端ip,訪問日期,訪問的url資源,伺服器返回的http狀態碼等重要資訊。一條典型的web訪問日誌如下 規劃 1 要解決問題 2 nignx沒有自動分開檔案儲存日誌的機制。由於nginx它不會幫你自動分檔...
nginx 日誌切割
直接在nginx配置檔案中,配置日誌迴圈,而不需使用logrotate或配置cron任務。需要使用到 time iso8601 內嵌變數來獲取時間。time iso8601格式如下 2015 08 07t18 12 02 02 00。然後使用正規表示式來獲取所需時間的資料。使用下面的 塊 1 2 3...
Nginx日誌切割
編輯指令碼tianshl tianshl nginx vim nginx log division.sh指令碼內容 bin sh 昨天日期 yesterday date v 1d y m d 日誌目錄 log path usr local var log nginx sdk日誌路徑 sdk path...