windows下面Nginx日志切割

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 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就是杀死进程


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


  1. start nginx就是启动nginx


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


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


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


  1. rem 是注释


三、新建windows 计划任务



这个时间最是 23:59:59秒,也可根据业务需求来弄。







到这就完成nginx 的日志切割工作,等第二天看任务是否成功执行即可。


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
2月前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
2月前
|
应用服务中间件 nginx
nginx error日志 client intended to send too large body: 1434541 bytes 如何处理?
【8月更文挑战第27天】nginx error日志 client intended to send too large body: 1434541 bytes 如何处理?
39 6
|
2月前
|
应用服务中间件 Linux nginx
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
|
2月前
|
存储 监控 应用服务中间件
查看nginx日志文件
器性能和提高网站可用性。掌握日志文件的路径、查看方法和基本分析技能对于任何服务器管理员来说都是必备技能。
64 1
|
2月前
|
存储 Ubuntu 应用服务中间件
如何在 Ubuntu VPS 上配置 Nginx 的日志记录和日志轮转
如何在 Ubuntu VPS 上配置 Nginx 的日志记录和日志轮转
19 4
|
2月前
|
JavaScript 应用服务中间件 nginx
Windows安装hexo并配置nginx
Windows安装hexo并配置nginx
|
2月前
|
存储 应用服务中间件 nginx
部署ELK+filebeat收集nginx日志
部署ELK+filebeat收集nginx日志
部署ELK+filebeat收集nginx日志
|
2月前
|
XML 数据格式 Windows
【Azure 云服务】Azure Cloud Service (Extended Support) 云服务开启诊断日志插件 WAD Extension (Windows Azure Diagnostic) 无法正常工作的原因
【Azure 云服务】Azure Cloud Service (Extended Support) 云服务开启诊断日志插件 WAD Extension (Windows Azure Diagnostic) 无法正常工作的原因
|
2月前
|
应用服务中间件 Linux nginx
Nginx log 日志文件较大,按日期生成 实现日志的切割
Nginx log 日志文件较大,按日期生成 实现日志的切割
264 0
|
2月前
|
应用服务中间件 nginx
[nginx]日志中记录自定义请求头
[nginx]日志中记录自定义请求头
下一篇
无影云桌面