中国网络水泥 发表于 2018-6-18 08:19:18

windows下nginx日志分割

@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进程
  tasklist /fi "imagename eq nginx.exe"
  或
  ::taskkill /F /IM nginx.exe > nul该行是注释
  rem设置Nginx 位于的盘符
  set NGINX_DRIVER=D:
  rem 设置 Nginx 的主目录
  ::set NGINX_PATH=%NGINX_DRIVER%\nginx该行是注释
  set NGINX_PATH="%NGINX_DRIVER%\Program Files\nginx"
  rem 设置 Nginx 的日志目录
  set LOG_PATH=%NGINX_PATH%\logs
  rem 保留30天日志
  set save_days=30
  rem 切换到 Nginx 所在的盘符
  %NGINX_DRIVER%
  rem 切换到logs所在目录
  cd %LOG_PATH%
  rem 移动文件
  move %LOG_PATH%\access.log %LOG_PATH%\access_%y%-%m%-%d%.log
  move %LOG_PATH%\error.log %LOG_PATH%\error_%y%-%m%-%d%.log
  rem 进入 Nginx 的主目录
  cd %NGINX_PATH%
  rem向nginx 发送 reopen 信号以重新打开日志文件,功能与 Linux 平台中的 kill -USR1 一致
  nginx -s reopen
  rem 删除30天前日志
  forfiles /p "%LOGS_PATH%" /s /m *%y%-%m%-%d%.log /d -%save_days% /c "cmd /c del @path"
  echo on
页: [1]
查看完整版本: windows下nginx日志分割