nginx實現自動切割日誌檔案shell指令碼
阿新 • • 發佈:2018-12-24
在工作中可能會需要對nginx的日誌實現自動分割,自己寫了一個函式,大家如果覺得可以的話:
可以直接複製儲存修改一下nginxPATH和 /opt/nginx/sbin/nginx -s reopen這兩個地方 地址。然後直接使用。
#!/bin/bash #引數解釋:$1 切割日誌的大小,數字型別,單位為:m。 #引數解釋:$2 切割日誌的檔名稱:access正確日誌 error錯誤日誌,可自定議為自己的日誌檔名稱。 function nginxLogReopen(){ nginxPATH='/opt/nginx/logs'; nginxPathNew=`date +%Y%m%d%H%M%S`; #獲取nginx日誌檔案大小 nginxLogCount=`wc -c $nginxPATH/$2.log | awk '{print $1}'` #計算最大的值 nginxMaxCount=$(($1*1024)) if [ $nginxLogCount -gt $nginxMaxCount ];then mv $nginxPATH"/"$2".log" $nginxPATH"/$2"$nginxPathNew".log"; touch $nginxPATH"/"$2".log" /opt/nginx/sbin/nginx -s reopen fi } nginxLogReopen 2 'error'
後期將完善更多的shell指令碼,希望大家喜歡。。。。