[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貌似沒生效,也沒查到為啥不生效。寫個簡單指令碼應付下吧 ...