nginx日誌分割和定時清理指令碼

2022-05-02 21:27:07 字數 1857 閱讀 4255

首先是日誌定時分割指令碼

#@/bin/sh

dat=`date +"

%y%m%d"`

mon=`date +"

%y%m"`

echo

$dat

mondir="

/usr/openresty/logs/$mon

"/bin/echo $mondir #>> /usr/openrest/hello.info

if [ ! -x "

$mondir

" ]; then

echo

"開始建立日期資料夾

"mkdir

"$mondir

"echo

"建立日期資料夾結束"fi

#/bin/echo ` ls -al $mon` >> /usr/openrest/hello.info

mv /usr/openresty/logs/error_90.log $mondir/error_$dat.log

kill -usr1 `cat /usr/local/openresty/nginx/logs/nginx.pid`

/bin/echo

"done

" # >> /usr/openrest/hello.info

其次是定期清理指令碼

#/bin/sh

shellinfo=/usr/openresty/hello.info

logdat=` date -d "

-1 month

" +%y%m `

/bin/echo $logdat >>$shellinfo

lastlogdat=` date -d "

-2 month

" +%y%m`

/bin/echo $lastlogdat >>$shellinfo

logpath="

/usr/openresty/logs/

"lastlogtar="

$$.tar.gz

"/bin/echo $logpath >>$shellinfo

/bin/echo

"over

" $lastlogtar >>$shellinfo

if [ -x "

$logpath$logdat

" ]; then

/bin/echo

"開始壓縮上月日誌檔案

" >>$shellinfo

/bin/echo $logpath$logdat "

待壓縮的資料夾

" >>$shellinfo

tar -zcvf $logpath$logdat.tar

.gz $logpath$logdat

/bin/echo `ls -al /usr/openresty/` >>$shellinfo

/bin/echo

"換行 開始刪除上個月的資料夾

" >>$shellinfo

rm -rf $logpath$logdat

/bin/echo

"換行 刪除上個月的資料夾完畢

" >>$shellinfo

fiif [ -a "

$lastlogtar

" ]; then

/bin/echo

"開始刪除上上個月的日誌壓縮包

" >>$shellinfo

rm -rf $lastlogtar

/bin/echo

"刪除上上個月的日誌壓縮包完畢

" >>$shellinfo

fi

crontab -e 根據需要新增定時任務

容器中的nginx日誌分割請參考這裡

Nginx日誌定時清理

有一天忽然發現公司公網應用登入頁無法載入了,趕緊登入伺服器上排查,df h之後發現磁碟占用達100 經排查發現nginx日誌檔案為28g。直接rm rf 28g access.log,然而應用依然沒有反應,後想到應該是只刪除了日誌檔案,但是並沒有釋放空間,nginx s reload了一下,果然磁碟...

nginx配置日誌和定時分割日誌

nginx日誌主要分為兩種 access log 訪問日誌 和error log 錯誤日誌 通過訪問日誌我們可以得到使用者的ip位址 瀏覽器的資訊,請求的處理時間等資訊。錯誤日誌記錄了訪問出錯的資訊,可以幫助我們定位錯誤的原因。可以應用access log指令的作用域分別有http,server,l...

nginx定時任務分割日誌

nginx安裝在 usr local資料夾下 1.在nginx根目錄下建立乙個檔案data,儲存指令碼檔案runlog.sh mkdir data vim data runlog.sh 2.在指令碼檔案runlog.sh檔案裡新增如下 的含義是 在logs資料夾下,每天凌晨一點生成乙個昨天的日誌檔案...