Nginx日志不处理的话,会一直追加,文件会变得很大

Linux

nginx_log.sh

#!/bin/bash
date=$(date +%F -d -1day)
cd /usr/local/nginx/logs
if [ ! -d bak ] ; then
mkdir -p bak
fi
mv access.log bak/access_$date.log
mv error.log bak/error_$date.log
# /usr/bin/nginx -s reload
kill -s SIGUSR1 $(cat /usr/local/nginx/logs/nginx.pid)
tar -jcvf bak/$date.tar.gz bak/access_$date.log bak/error_$date.log
find /usr/local/nginx/logs/bak -mtime +30 -name "*.gz" -exec rm -rf {} \;
find /usr/local/nginx/logs/bak -mtime +1 -name "*.log" -exec rm -rf {} \;

 添加到定时任务

crontab -e #打开定时任务

i #进入编辑模式
0 1 * * * /bin/sh /opt/shell/nginx_log.sh #添加任务
:wq! #保存退出

 

如果报错:

tar (child): bzip2: Cannot exec: No such file or directory
tar (child): Error is not recoverable: exiting now

yum -y install bzip2

 

Nginx log 日志分割_定时任务

 

 

 Windows

taskkill /F /IM nginx.exe > nul
rem date格式:Wed 11/02/2016
set today=%date:~0,4%-%date:~5,2%-%date:~8,2%
set dir=D:\nginx-1.20.1\logs\backup
md "%dir%"

rem access log
move "D:\nginx-1.20.1\logs\access.log" "%dir%\access-%today%.log"

start "D:\nginx-1.20.1\nginx.exe"