方式一
nginx.conf http 配置
map $time_iso8601 $logdate {
'~^(?
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
推荐链接
发表评论