建立指令碼logcut.sh,放到/opt/nginx/sbin下
在windows下編輯,可以把dos轉unix格式
#!/bin/bash
## 零點執行該指令碼
## nginx 日誌檔案所在的目錄
logs_path=/opt/nginx/logs
## 獲取昨天的 yyyy-mm-dd
yesterday=$(date -d "yesterday" +%y-%m-%d)
## 移動檔案
mv $/access.log $/access_$.log
mv $/error.log $/error_$.log
## 向 nginx 主程序傳送 usr1 訊號。usr1 訊號是重新開啟日誌檔案
kill -usr1 $(cat /opt/nginx/logs/nginx.pid)
(注意nginx.pid路徑,在nginx.conf裡配置)
設定許可權,新增可執行
cd /opt/nginx/sbin
chmod 755 logcut.sh
新增到crontab
crontab -e 編輯crontab,新增如下內容
0 0 * * * /bin/bash /opt/nginx/sbin/logcut.sh > /dev/null 2>&1
後面新增的 > /dev/null 2>&1的意義是把訊息和錯誤輸出到空裝置,不讓系統發郵件
crontab -l 檢視crontab
參考:nginx 日誌檔案切割
nginx 切割日誌檔案
1.首先編寫shell指令碼 cutlog.sh 放入nginx logs資料夾中 首先定義路徑變數 logs path usr local nginx logs 獲取昨天的 yyyy mm dd d date y m d 移動檔案 mv access.log log 向 nginx 主程序傳送 u...
Nginx 日誌檔案切割
阿里雲的nginx好久沒檢視過日誌,現在需要配置定時任務實現,日誌檔案切割,並刪除超過30天的日誌檔案。log.sh 指令碼檔案 bin bash 獲取當前時間 yyyy mm dd hh mm ss 格式 nowtime date y m d h m s cd usr local nginx mv...
nginx日誌切割
web 訪問日誌 access log 記錄了所有外部客戶端對web伺服器的訪問行為,包含了客戶端ip,訪問日期,訪問的url資源,伺服器返回的http狀態碼等重要資訊。一條典型的web訪問日誌如下 規劃 1 要解決問題 2 nignx沒有自動分開檔案儲存日誌的機制。由於nginx它不會幫你自動分檔...