Nginx日誌備份及location配置詳解

2021-08-13 02:33:08 字數 1435 閱讀 4133

思路:寫乙個linux定時器執行下面編寫的指令碼,定時在夜裡02-04點之間(系統負載小)執行,將nginx當天生成的access.log複製到指令碼建立的資料夾中,複製的log檔案重新命名為是access_$day.log

**#!/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 -f $base_path/access.log $base_path/$log_path/access_$day.log

#echo $base_path/$log_path/access_$day.log

#sudo許可權使用這段命令 echo password | sudo -s kill -usr1 `cat** /usr/local/nginx/logs/nginx.pid`

kill -usr1 `cat /usr/local/nginx/logs/nginx.pid`

注:指令碼自動輸入sudo密碼

echo | sudo -s

-s sudo從標準輸入讀取密碼

crontab 編輯定時任務

在teminal中輸入sudo crontab -e開啟編寫定時器執行的檔案,然後輸入下面內容到檔案中,然後儲存退出就可以了

01 00 * * * /***/path/b.sh 每天0時1分(建議在02-04點之間,系統負載小)

!#linux定時器具體設定詳解參考該部落格

location是nginx的nginx.conf檔案配置中的一部分,它的作用我的理解是為url定位伺服器資源的位置

1. location 的語法

location [=|~|~*|^~] patt

中括號可以不寫任何引數,此時稱為一般匹配

也可以寫引數

因此,大型別可以分為3種

location = patt {} [精準匹配]

location patt{} [一般匹配]

location ~ patt{} [正則匹配]

2. 匹配的規則:

(1). 先進行精準匹配,匹配成功就結束,返回結果,結束解析過程

(2). 再進行一般匹配,若多個匹配成功,記錄下匹配最長的結果,繼續解析(記錄但不結束)

(3). 最後進行正則匹配,按配置檔案裡的順序進行匹配,一旦匹配成功,就立刻結束解析,返回結果。若全部沒有匹配成功,就返回一般匹配的結果。若一般匹配也沒有結果,就返回404錯誤。

注: 一般匹配配置檔案裡的順利,沒有影響,只記錄最長匹配結果。

正則匹配配置檔案裡的順序,有影響,一旦匹配成功,就結束。

nginx定時備份日誌

思路 用shell指令碼加linux定時任務來備份日誌 首先在進入nginx目錄 cd usr local nginx 建立乙個logdata目錄以後的指令碼和備份的日誌都放在這裡 mkdir logdata進入logdata目錄編輯建立建立乙個runlog.shshell指令碼 cd logdat...

實戰 nginx定時備份日誌

實際應用 shell 定時任務 nginx 訊號管理 完成日誌按日期儲存 分析思路 凌晨00 00 01,把昨天的日誌重新命名 放在相應的目錄下 再 usr1 資訊號控制 nginx 重新生成新的日誌檔案 具體指令碼 bin bash base path usr local nginx logs l...

nginx日誌模組及日誌定時切割

ngx http log module 定義日誌格式,並且以指定的格式儲存。句法 access log path format buffer size gzip level flush time if condition access log off 預設 access log logs acces...