使用shell腳本對(duì)Nginx日志進(jìn)行切分的示例代碼
本文介紹了使用shell腳本對(duì)Nginx日志進(jìn)行切分的示例代碼,分享給大家,具體如下:
1.日志格式
默認(rèn)的日志格式: main
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' $status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';
如默認(rèn)的main日志格式,記錄這么幾項(xiàng)
遠(yuǎn)程IP- 遠(yuǎn)程用戶/用戶時(shí)間 請(qǐng)求方法(如GET/POST) 請(qǐng)求體body長(zhǎng)度 referer來(lái)源信息
http-user-agent用戶代理/蜘蛛 ,被轉(zhuǎn)發(fā)的請(qǐng)求的原始IP
http_x_forwarded_for:在經(jīng)過(guò)代理時(shí),代理把你的本來(lái)IP加在此頭信息中,傳輸你的原始IP
2.實(shí)現(xiàn)思路
shell+定時(shí)任務(wù)+nginx信號(hào)管理,完成日志按日期存儲(chǔ)
#!/bin/bash base_path='/usr/local/nginx/logs' log_path=$(date -d yesterday +"%Y%m") day=$(date -d yesterday +"%d") mkdir -p $base_path/$log_path mv $base_path/access.log $base_path/$log_path/access_$day.log kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
3.定時(shí)任務(wù)
Crontab 編輯定時(shí)任務(wù)
01 00 * * * /xxx/path/b.sh 每天0時(shí)1分(建議在02-04點(diǎn)之間,系統(tǒng)負(fù)載小)、
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
統(tǒng)計(jì)網(wǎng)卡流量的兩段shell腳本(使用ifconfig)
一個(gè)很小巧的shell腳本,使用ifconfig的不間斷輸出來(lái)統(tǒng)計(jì)網(wǎng)卡的流量,有需要的朋友可以參考下2013-02-02Linux shell條件判斷if中的-a到-z的意思【推薦】
這篇文章主要介紹了Linux shell條件判斷if中的-a到-z的意思,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-08-08Bash Shell腳本學(xué)習(xí)小結(jié)
今天需要寫(xiě)一個(gè)Shell腳本。很簡(jiǎn)單,判斷一個(gè)日志文件是否大大于2G,如果大于2G則刪除。久了沒(méi)有寫(xiě)bash,竟然一點(diǎn)都想不起來(lái)寫(xiě)了。于是復(fù)習(xí)了一下,下面對(duì)今天的學(xué)習(xí)做個(gè)小結(jié)2013-01-01并發(fā)數(shù)據(jù)庫(kù)壓力測(cè)試的shell腳本代碼
并發(fā)數(shù)據(jù)庫(kù)壓力測(cè)試的shell腳本,有需要的朋友可以參考下2013-02-02淺談Linux 二進(jìn)制包安裝MySQL的一些問(wèn)題
下面小編就為大家?guī)?lái)一篇淺談Linux 二進(jìn)制包安裝MySQL的一些問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03Linux下使用expect命令編寫(xiě)自動(dòng)化交互腳本
今天小編就為大家分享一篇關(guān)于Linux下使用expect命令編寫(xiě)自動(dòng)化交互腳本,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-11-11淺析Shell中的定時(shí)任務(wù) crontab
crondtab進(jìn)程每分鐘會(huì)定期檢查是否有要執(zhí)行的任務(wù),如果有要執(zhí)行的任務(wù),則自動(dòng)執(zhí)行該任務(wù)。這篇文章主要介紹了Shell中的定時(shí)任務(wù) crontab,需要的朋友可以參考下2019-12-12