使用shell指令碼對Nginx日誌進行切分
1.日誌格式
預設的日誌格式: main
log_format main `$remote_addr - $remote_user [$time_local] "$request" `
$status $body_bytes_sent "$http_referer" `
`"$http_user_agent" "$http_x_forwarded_for"`;
如預設的main日誌格式,記錄這麼幾項
遠端IP- 遠端使用者/使用者時間 請求方法(如GET/POST) 請求體body長度 referer來源資訊
http-user-agent使用者代理/蜘蛛 ,被轉發的請求的原始IP
http_x_forwarded_for:在經過代理時,代理把你的本來IP加在此頭資訊中,傳輸你的原始IP
2.實現思路
shell+定時任務+nginx訊號管理,完成日誌按日期儲存
#!/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.定時任務
Crontab 編輯定時任務
01 00 * * * /xxx/path/b.sh 每天0時1分(建議在02-04點之間,系統負載小)
相關文章
- linux中用shell指令碼對tomcat和nginx做日誌切割Linux指令碼TomcatNginx
- 如何使用SHC對Shell指令碼進行封裝和原始碼隱藏指令碼封裝原始碼
- 基於Linux指令碼,對日誌進行定時壓縮備份Linux指令碼
- 日誌切分神器--logrotatelogrotate
- 透過shell指令碼監控日誌切換頻率指令碼
- 對比Elasticsearch,使用Doris進行高效日誌分析(上)Elasticsearch
- 對比Elasticsearch,使用Doris進行高效日誌分析(下)Elasticsearch
- shell指令碼一鍵安裝nginx指令碼Nginx
- 執行shell指令碼指令碼
- 使用 shell 命令統計日誌
- shell指令碼一鍵安裝nginx-1.18.0指令碼Nginx
- 日誌服務之使用Nginx模式採集日誌Nginx模式
- 使用goaccess統計nginx日誌GoNginx
- 使用Mac自定義快捷鍵執行shell指令碼Mac指令碼
- 使用Shell指令碼查詢程式對應的程式ID指令碼
- WINDOWS下對NIGNX日誌檔案進行限制Windows
- Gin 框架 - 使用 logrus 進行日誌記錄框架
- 使用Java和Elastic Stack進行日誌分析JavaAST
- ABP 使用ElasticSearch、Kibana、Docker 進行日誌收集ElasticsearchDocker
- Shell指令碼介紹與使用指令碼
- Linux shell:執行shell指令碼的幾種方式Linux指令碼
- 如何使用Nginx對Artifactory進行http應用NginxHTTP
- 使用shell 方式對 vcenter 進行補丁升級
- shell切分字串到陣列字串陣列
- shell指令碼案例分享 - 業務系統日誌自定義保留或刪除需求指令碼
- shell指令碼指令碼
- Mac 終端執行 shell 指令碼Mac指令碼
- Nginx日誌配置Nginx
- nginx 清空日誌Nginx
- Linux Shell獲取正在執行指令碼的絕對路徑Linux指令碼
- SLS 查詢新正規化:使用 SPL 對日誌進行互動式探索
- .Net Core中使用DiagnosticSource進行日誌記錄
- shell指令碼企業實戰系列-nginx原始碼包安裝指令碼Nginx原始碼
- 使用shell 指令碼備份資料指令碼
- 如何使用zx編寫shell指令碼指令碼
- Linux 使用 shell 指令碼處理字串Linux指令碼字串
- 指令碼處理iOS的Crash日誌指令碼iOS
- 指令碼日誌的標準輸出指令碼