方式一

nginx.conf http 配置

map $time_iso8601 $logdate {

'~^(?\d{4}-\d{2}-\d{2})' $ymd;

default 'date-not-found';

}

access_log logs/access-$logdate.log;

方式二

设置一个bat文件 定时执行就可以 split-log.bat

@shift

::设置nginx安装文件路径和当天时间变量

@echo off

set nginx_dir=E:\workspace\openresty

set dir=%nginx_dir%\logs\cut_log

set log=%nginx_dir%\logs\access.log

set errorlog=%nginx_dir%\logs\error.log

set today=%date:~0,2%-%date:~3,2%-%date:~6,2%

::判断nginx安装文件路径设置是否正确

:exist_nginx_dir

@echo off

if exist %nginx_dir% (

cd %nginx_dir%

goto check_log

) else (

echo 此路径%nginx_dir%不存在,请检查

goto stop

)

::判断nginx的access.log

:check_log

@echo off

if exist %log% (

goto check_dir

) else (

echo %log%文件不存在,请检查

goto stop

)

::判断nginx的cut_log目录

:check_dir

@echo off

if exist %dir% (

goto main

) else (

md "%dir%"

goto main

)

::创建相关目录和对nginx日志进行切割

:main

@echo off

::结束nginx进程

taskkill /F /IM nginx.exe > nul

move "%log%" "%dir%\access-%today%.log" > nul

move "%errorlog%" "%dir%\error-%today%.log" > nul

start nginx.exe

推荐链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。