Nginx日誌每5分鐘自動切割

2021-08-03 03:44:22 字數 1475 閱讀 8609

1、windows下,新建乙個bat檔案

2、將以下內容,拷貝到bta檔案:

@echo off

if 「%1」 == 「h」 goto begin

mshta vbscript:createobject(「wscript.shell」).run(「%~nx0 h」,0)(window.close)&&exit

:begin

:nginx

ping 127.0.0.1 -n 300>nul

cd c:\nginx-1.10.1

rem 指定log檔案的存放路徑

set srcdir=c:\nginx-1.10.1\logs

set dd=%date:~8,2%

set mm=%date:~5,2%

set yy=%date:~0,4%

set tss=%time:~6,2%

set tmm=%time:~3,2%

set thh=%time:~0,2%

set thh=%thh: =0%

rem 移動到其他目錄,並根據時間重新命名訪問日誌檔案

set 「cmdstr1=move %srcdir%\access.log %srcdir%\history_log\access\10.nginx%yy%-%mm%-%dd%_%thh%.%tmm%.%tss%.log

call %cmdstr1%」

nginx -s reload

rem 備份到跳板機

set src_dir=c:\nginx-1.10.1\logs\history_log\access

set src_back=\10.0.0.7\c$\nginxservice\nginxloganalyzerservice\log

cd /d %src_dir%

for /f 「tokens=*」 %%f in (『dir /b /od /a-d』) do (set f=%%f

set t=%%~tf)

echo 最新的檔案是 %f% 修改時間為:%t%

set 「accessbak=copy /y %src_dir%\%f% %src_back%\

call %accessbak%」

goto nginx

解釋1:下面這個是自動隱藏,將bat檔案變成程序去執行

if 「%1」 == 「h」 goto begin

mshta vbscript:createobject(「wscript.shell」).run(「%~nx0 h」,0)(window.close)&&exit

解釋2:下面這個是先定義變數,讓其300秒無限迴圈執行

:nginx

ping 127.0.0.1 -n 300>nul

……….

goto nginx

以上,進行設定後,直接雙擊執行bat,就可以讓bat檔案變成程序在後台自動執行,實現nginx日誌每5分鐘自動切割日誌了

配置 Nginx 自動切割日誌

第一種方法 mv opt nginx logs access.log opt nginx logs access date y m d log killall s usr1 nginx 使用usr1引數通知nginx程序切換日誌檔案 將以上指令碼內容儲存為檔名為 logcron.sh 存到自定的目錄...

nginx自動切割訪問日誌

web 訪問日誌 access log 記錄了所有外部客戶端對web伺服器的訪問行為,包含了客戶端ip,訪問日期,訪問的url資源,伺服器返回的http狀態碼等重要資訊。一條典型的web訪問日誌如下 規劃 1 要解決問題 2 nignx沒有自動分開檔案儲存日誌的機制。由於nginx它不會幫你自動分檔...

通過nginx日誌統計5分鐘內所有專案的pv

bin bash for file in ls l nginx grep awk doori log path logs nginx file.access.log date stamp date d 5min y h m s day stamp date d 抽出5分鐘內的日誌 log num a...