Win10Nginx设置日志切分

编程

Nginx大多是在Linus环境下使用,网上Nginx的日志切分基本都是在Linus环境下通过sheet脚本执行。

最近由于业务需要windows环境下运行Nginx,要做日志分割。但是在网上找了一圈,大多是需要借助UnxUtils这个工具来获取前一天的时间。其实在windows环境下,可以用vb脚本(VB Script)来实现获取前一天时间的功能。

1. 关闭Ngins:

nginx -s stop

注意:命令要在cmd.exe(win+R,输入cmd,回车)执行,并定位到Nginx安装目录

2. 在Nginx安装目录下创建一个文件夹datalogs,用来存放备份的Nginx日志

3. 在Nginx安装目录下创建一个文件demo.bat,写入一下vb脚本

@echo off

rem @echo off

rem 取1天之前的日期

echo wscript.echo dateadd("d",-1,date) >%tmp% mp.vbs

for /f "tokens=1,2,3* delims=/" %%i in ("cscript /nologo %tmp% mp.vbs") do set y=%%i

for /f "tokens=1,2,3* delims=/" %%i in ("cscript /nologo %tmp% mp.vbs") do set m=%%j

for /f "tokens=1,2,3* delims=/" %%i in ("cscript /nologo %tmp% mp.vbs") do set d=%%k

if %m% LSS 9 set m=0%m%

if %d% LSS 9 set d=0%d%

echo %y%-%m%-%d%

rem 设置 Nginx 位于的盘符

set NGINX_DRIVER=D:

rem 设置 Nginx 的主目录

set NGINX_PATH=%NGINX_DRIVER%

ginx-1.16.1

rem 设置 Nginx 的日志目录

set LOG_PATH=%NGINX_PATH%logs

rem 移动文件

move %LOG_PATH%access.log %NGINX_PATH%datalogsaccess_%y%-%m%-%d%.log

move %LOG_PATH%error.log %NGINX_PATH%datalogserror_%y%-%m%-%d%.log

rem 切换到 Nginx 所在的盘符

%NGINX_DRIVER%

rem 进入 Nginx 的主目录

cd %NGINX_PATH%

rem 向 nginx 发送 reopen 信号以重新打开日志文件,功能与 Linux 平台中的 kill -USR1 一致

nginx -s reopen

echo on

注意:在vb脚本中,rem代表注释

4. 把上述vb脚本demo.bat按照以下步骤添加到windows任务计划中

(1)此电脑-->右键点击“管理”-->进入计算机管理页面-->点击“任务计划程序”下拉的“任务计划程序库”-->点击“创建基本任务”;

(2)在弹出的页面上按向导如下图所示一步步填写,然后点击完成,中间的列表就会显示新加入的任务计划

(3)我们可以通过点击其右侧其属性来修改其基本信息,如下图所示:

1)常规:可以修改其“安全选项” 等;

2)触发器:可以新建、编辑、和删除;

编辑时,可修改其高级配置,比如要实现每分钟执行,可勾选“重复任务间隔”,其值在选择后可手动修改!!

3)操作:可以新建,实现多任务操作,可以编辑、删除。

5. 启动Nginx

start nginx

传送门:

Win10环境下载安装Nginx:https://my.oschina.net/u/3986411/blog/4270553

以上是 Win10Nginx设置日志切分 的全部内容, 来源链接: utcz.com/z/516274.html

回到顶部