nginx 在windows中的日志切割
@echo off taskkill /F /IM nginx.exe > nul rem @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 位于的盘符 set NGINX_DRIVER=D: rem 设置 Nginx 的主目录 set NGINX_PATH=%NGINX_DRIVER%\000_nginx-1.12.1 rem 设置 Nginx 的日志目录 set LOG_PATH=%NGINX_PATH%\logs 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 所在的盘符 %NGINX_DRIVER% rem 进入 Nginx 的主目录 cd %NGINX_PATH% rem 向 nginx 发送 reopen 信号以重新打开日志文件,功能与 Linux 平台中的 kill -USR1 一致 start nginx echo on
改成bat文件,再加入到window定时任务中
还有一种方法,不是切割文件的方式,而是在nginx配置文件中配置:
server {
    listen       8002;
    server_name a.xxx.com;
    if ( $time_iso8601  ~ '(\d{4})-(\d{2})-(\d{2})'){
        set $date $1$2$3;
}
      location /{
        proxy_pass http://192.168.0.125:8001;
        proxy_redirect default;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host 192.168.0.125;
        proxy_set_header X-Real-IP $http_x_real_ip;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Headers' '*';
        add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS,HEAD';
    
    access_log  logs/$date-access.log  main;
    }
}
我的nginx版本为1.19.2
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号