windows下面Nginx日志切割

Nginx自己并不支持日志切割,那么就会形成日志很是的大,为了解决这个问题咱们用到了windows的计划任务和dos命令。具体思路:nginx

1.写一个dos文件,经过windows的计划任务定时执行(天天执行一次)windows

2.dos命令里面将根据日期来移动文件spa

3.移动前中止nginx,移动成功后启动nginx日志

dos命令以下:code

@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

 说明:blog

1.taskkill就是杀死进程进程

2.由于目录中存在空格,所以须要用双引号将目录引发来rem

3.start nginx就是启动nginxstring

4.%date%用于获取日期,后面的参数相似于substring(position,len)it

5.@echo off表示后面的代码是一个代码块,而非一行一句,主要是由于定义了变量这些

6.pause表示暂停,这样dos窗体就不会一闪而过,咱们可以清晰的看到执行结果

相关文章
相关标签/搜索