Ngnix 日誌管理及 Shell 實現定時完成日誌切割
一、日誌管理
先來看看ngnix的配置檔案的server段
接下來我們解釋一下預設格式的具體意思
#log_format main ‘$remote_addr(遠端IP) – $remote_user(遠端使用者) [$time_local](訪問時間) “$request”(請求方式) ‘
# ‘$status(狀態302、404、401、403等) $body_bytes_sent(請求體 body 長度等) “$http_referer”(referer來源資訊) ‘
# ‘”$http_user_agent(使用者代理)” “$http_x_forwarded_for(被轉發的請求的原始IP)”‘;
注:(1)http_x_forwarded_for:在經過代理時,代理把你的本來IP加在此頭資訊中,傳輸你的原始IP
(2)日誌的格式我們也可以自己定義
我們具體看一下日誌記錄的資訊
Ngnix允許針對不同的server做不同的log,接下來我們自己做一個
儲存並退出,然後重新載入一次配置檔案
因為我們沒開啟日誌格式,進入配置檔案開啟即可
接下來過載配置檔案成功,然後訪問下伺服器,再檢視log目錄下是否有kelly.log日誌檔案,然後在more kelly.log看是否有日誌記錄
二、用定時任務完成日誌切割備份
思路:用shell寫一個指令碼,每到00:00:01時就把昨天的日誌按日期時間格式重新命名,放在相應的目錄下,再用USR1資訊號控制ngnix重新生成新的日誌檔案。
接下來我們在/usr/local/ngnix/data目錄下做實驗,建立一個shell指令碼,檔名為runlog.sh
我以下圖對此指令碼做詳細解釋
我附上該shell指令碼原始碼,方便讀者做測試:
#!/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 #echo $base_path/$log_path/access_$day.log kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
接下來做個定時任務,按指定時間自動執行此指令碼(這裡我是做測試,所以我每分鐘執行一下這個指令碼,方便看效果)
然後檢視最終效果
此時,我們已經完成了用定時任務執行指令碼,然後做日誌切割備份。
相關文章
- 【shell】實現tomcat日誌切割功能Tomcat
- 如何定時切割nginx日誌?Nginx
- 【shell】日誌切割指令碼指令碼
- [技術分享]日誌切割(按天切割日誌)
- 【awk】按小時切割日誌
- nginx切割日誌Nginx
- nginx日誌切割Nginx
- Centos下Nginx配置WEB訪問日誌並結合shell指令碼定時切割CentOSNginxWeb指令碼
- nginx日誌切割配置Nginx
- Apache 配置日誌切割Apache
- 日誌切割logrotate和定時任務crontab詳解logrotate
- 運維中的日誌切割操作梳理(Logrotate/python/shell指令碼實現)運維logrotatePython指令碼
- Nginx實戰(三) 日誌配置與切割Nginx
- Nginx訪問日誌、Nginx日誌切割、靜態檔案不記錄日誌和過期時間Nginx
- CentOS 7.0下nginx實現每天定時分割日誌CentOSNginx
- Go中使用Zap日誌庫與Lumberjack日誌切割Go
- tomcat日誌切割-logrotateTomcatlogrotate
- shell分割日誌
- nginx自己寫日誌切割指令碼Nginx指令碼
- nginx自動切割訪問日誌Nginx
- nginx高階訪客日誌切割Nginx
- linux中用shell指令碼對tomcat和nginx做日誌切割Linux指令碼TomcatNginx
- Flume 實現自己的實時日誌(2)
- python通過TimedRotatingFileHandler按時間切割日誌Python
- nginx中access日誌如何做到按時間完美切割Nginx
- CDN日誌實時分析
- nginx1.24配置logrotate日誌切割Nginxlogrotate
- 日誌管理
- 【Oracle】歸檔日誌管理-設定歸檔日誌路徑以及歸檔日誌冗餘Oracle
- Java 日誌管理最佳實踐Java
- Apche日誌系列(3):定製日誌(轉)
- Web實時日誌輸出檢視管理系統Web
- Spring AOP實現後臺管理系統日誌管理Spring
- Mysql 日誌管理MySql
- 重做日誌管理
- 日誌管理程式
- mysql日誌管理MySql
- REDO日誌管理