Shell Nginx日誌保留策略

2022-07-07 00:48:08 字數 973 閱讀 1288

[root@ser04 ~]#

crontab -l

0 0 * * * /bin/bash /data/script/nginxlog.sh

[root@ser04 ~]#

cat /data/script/nginxlog.sh

#/bin/bash

#author sunli

set -e #

指令碼執行,遇到錯就退出,不再往下執行

sleep 1 #

配合定時任務,0點過一秒再開始切割任務

yesterday=$(date -d 'yesterday' +%y-%m-%d) #

取得伺服器當前時間

ng_logs_dir='/usr/local/nginx/logs' #

nginx 日誌檔案目錄

if [ -d $ng_logs_dir ];then #

判斷日誌目錄是否存在

cd $ng_logs_dir

mv access.log access_

$.log #

通過 mv 命令將日誌移動到分割後的日誌,error 日誌我一般不做切割

kill -usr1 $(cat /usr/local/nginx/logs/nginx.pid) #

傳送 kill -usr1 訊號給 nginx 的主程序號,讓 nginx 重新生成乙個新的日誌檔案

sleep 1tar -czf access_$.log.tar.gz access_$.log #

把舊的日誌打成壓縮包

mv access_$.log.tar.gz /data/nginx/log/ #

移到指定目錄

rm -f access_$.log #

已有壓縮包,刪除壓縮前的日誌

else

echo

"日誌目錄不存在,請檢查

"exit 0fi

shell NGINX 日誌分析

二 統計ip位址 三 統計url訪問的頁面 四 統計ip狀態碼 remote addr 遠端主機ip位址 1 remote user 遠端使用者 如果沒有獲得則為 time local 訪問時間 4 request 訪問請求方式 6 7 url 8 版本號 status 狀態碼 9 boby byt...

tomcat日誌切割保留三天的日誌

指令碼記錄 日誌切割保留三天的日誌 bin bashcd dirname 0 date date y m d date3 date d 3 day ago y m d cd.logs cp catalina.out catalina.out.echo catalina.out rm f catali...

保留包含時間戳日誌指令碼

今天登陸主機發現磁碟空間不足,看了下是tomcat的catalina.out日誌較多,檢視logging.properties如下 4host manager.org.apache.juli.asyncfilehandler.maxdays 3貌似沒生效,也沒查到為啥不生效。寫個簡單指令碼應付下吧 ...