nginx 按天分割日志

 window 平台下的 nginx 今天本来想看下他的日志的,一看 2.4GB, 这么大 打开都费劲:

 

然后nginx 本身没有提供相应的配置功能, 思路是 通过 window 自带的计任务,执行.bat 脚本来实现的

  1. 编写 bat 脚本
  2. 配置 window 的计划任务

 编写 bat 脚本:

我们的需求是:

  • 按天分割 nginx 日志
  • 文件夹汇总 美观

脚本如下:

@echo off
REM 设置命令提示符为 UTF-8 编码
chcp 65001
REM 设置Nginx 目录
set LOG_PATH=C:\nginx-1.22.1\logs
REM 设置Nginx 日志目录
set DIR_BASE=Nginx日志备份

REM 获取当前日期和时间,格式为 YYYYMMDD
for /f "tokens=2 delims==" %%I in ('wmic OS Get localdatetime /value') do set datetime=%%I
set DATE=%datetime:~0,4%%datetime:~4,2%%datetime:~6,2%


REM 设置备份文件夹名称
set DIR_PATH=%LOG_PATH%\%DIR_BASE%%DATE%


:: echo "DATE %DATE%"
:: "LOG_PATH %LOG_PATH%"
:: "Folder created at %DIR_PATH%"
:: pause

REM 创建目标文件夹(如果不存在)
IF NOT EXIST "%DIR_PATH%" (
    mkdir "%DIR_PATH%"
    echo "Folder created at %DIR_PATH%"
) ELSE (
    echo "Folder already exists at %DIR_PATH%"
)

REM 剪切access.log 文件到指定目录
IF EXIST "%LOG_PATH%\access.log" (
    move "%LOG_PATH%\access.log" "%DIR_PATH%\access.log"
    echo accessLog File moved successfully.
) ELSE (
    echo accessLog Source file does not exist.
)

REM 剪切error.log 文件到指定目录
IF EXIST "%LOG_PATH%\error.log" (
    move "%LOG_PATH%\error.log" "%DIR_PATH%\error.log"
    echo errorLog File moved successfully.
) ELSE (
    echo errorLog Source file does not exist.
)

REM 创建新的日志文件
copy NUL "%LOG_PATH%\access.log" >nul
copy NUL "%LOG_PATH%\error.log" >nul

echo Nginx 日志分割完成

配置 window 的计划任务

打开 window 的任务计划程序 :

  1. 创建一个基本任务
  2. 填写名称描述下一步
  3. 设置每天
  4. 设置时间
  5. 启动程序
  6. 选择我们编写.bat 的文件
  7. 配置完成后 我们可以手动运行一下;检查下对不对。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

nicepainkiller

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

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

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

打赏作者

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

抵扣说明:

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

余额充值