windows下面Nginx日志切割

Nginx本身并不支持日志切割,那么就会造成日志非常的大,为了解决这个问题我们用到了windows的计划任务和dos命令。

一、思路:

  1. 写一个dos文件(桌面新建一个文本文件并改名成log-split.bat),通过windows的计划任务定时执行(每天执行一次)
  2. dos命令里面将根据日期来移动文件
  3. nginx.exe -s reopen(优先用这种) 或者 nginx.exe -s reload 或者 移动前停止nginx,移动成功后启动nginx 或 执行 (不推荐)

二、dos命令如下:

@echo off
rem 先进去 D盘,否则会导致启动不了nginx
rem cd /d D:\Program Files\nginx-1.14.2 这个命令只有在d盘好使。
D:
cd D:\Program Files\nginx-1.14.2
taskkill /F /IM nginx.exe > nul
rem date格式:2021-08-06
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" 

rem start nginx 这种方式有点粗暴
rem reopen log files,否则无法日志无法继续写入文件
rem nginx.exe -s reopen(优先用这种) 或者 nginx.exe -s reload
nginx.exe -s reopen
pause

说明:

  1. taskkill就是杀死进程

  2. 因为目录中存在空格,因此需要用双引号将目录引起来

  3. start nginx就是启动nginx

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

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

  6. pause表示暂停,这样dos窗体就不会一闪而过,我们能够清晰的看到执行结果,(在调试过程中使用,正式调通以后可以注释掉)

  7. rem 是注释

三、新建windows 计划任务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这个时间最是 23:59:59秒,也可根据业务需求来弄。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
到这就完成nginx 的日志切割工作,等第二天看任务是否成功执行即可。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

T-OPEN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值