Win10 Nginx设置日志切分

孤街醉人 提交于 2020-11-01 08:43:11

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%\tmp.vbs 
for /f "tokens=1,2,3* delims=/" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set y=%%i
for /f "tokens=1,2,3* delims=/" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set m=%%j
for /f "tokens=1,2,3* delims=/" %%i in ('cscript /nologo %tmp%\tmp.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%\nginx-1.16.1
rem 设置 Nginx 的日志目录
set LOG_PATH=%NGINX_PATH%\logs
rem 移动文件
move %LOG_PATH%\access.log %NGINX_PATH%\datalogs\access_%y%-%m%-%d%.log
move %LOG_PATH%\error.log %NGINX_PATH%\datalogs\error_%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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!