Nginx日誌切割

2021-09-21 13:57:17 字數 897 閱讀 3010

nginx web伺服器每天會產生大量的訪問日誌,而且不會自動地進行切割,如果持續數天訪問,將會導致該 access.log日誌檔案容量非常大,不便於sa檢視相關的**異常日誌。

可以基於shell指令碼結合 crontab計畫任務對 nginx日誌進行自動、快速的切割,其切割的方法使用mv命令即可,在auto. nginx log.s**件中寫入以下指令碼,**如下

#!/bin/bash

#auto mv nginx log shell

#by author yunwei

s_log=/usr/local/nginx/logs/access.log

d_log=/data/backup/date +%y%m%d

echo -e 「\033[32mplease wait start cut shell scripts…\033[1m」

sleep 2

if [ ! -d $d_log ];then

mkdir -p $d_log

fimv $s_log $d_log

kill -usr1cat /usr/local/nginx/logs/nginx.pid

echo 「-------------------------------------------」

echo 「the nginx log cutting successfully!」

echo 「you can access backup nginx log $d_log/access.log files.」

最後在crontab中新增如下**即可,每天晚上自動去切割日誌:

0 0 * * * /bin/sh/data/sh/auto_nginx_log.sh >>/tmp/nginx_cut.log 2>&1

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...