windows下面Nginx日志切割


Nginx本身並不支持日志切割,那么就會造成日志非常的大,為了解決這個問題我們用到了windows的計划任務和dos命令。具體思路:

1.寫一個dos文件,通過windows的計划任務定時執行(每天執行一次)

2.dos命令里面將根據日期來移動文件

3.移動前停止nginx,移動成功后啟動nginx

dos命令如下:

@echo off
cd D:\Program Files\nginx-1.14.2
taskkill /F /IM nginx.exe > nul
rem date格式:Wed 11/02/2016
set today=%date:~0,4%-%date:~5,2%-%date:~8,2%
set dir=D:\Program Files\nginx-1.14.2\logs\backup
md "%dir%"

rem access log 
move "D:\Program Files\nginx-1.14.2\logs\access.log" "%dir%\access-%today%.log"

start nginx

pause

 說明:

1.taskkill就是殺死進程

2.因為目錄中存在空格,因此需要用雙引號將目錄引起來

3.start nginx就是啟動nginx

4.%date%用於獲取日期,后面的參數類似於substring(position,len)

5.@echo off表示后面的代碼是一個代碼塊,而非一行一句,主要是因為定義了變量這些

6.pause表示暫停,這樣dos窗體就不會一閃而過,我們能夠清晰的看到執行結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM