目录

Nginx 日志全自动切割脚本

目录

自动切割目标目录下的所有 .log 文件,即使新建站点,产生新的日志需要切割,也无需修改脚本。

#!/bin/bash
#自动版日志切割 无需设置
 
#存放 .log 日志文件的路径
log_files_path="/home/wwwlogs"
#存放切割后日志的文件夹路径
log_files_dir=${log_files_path}/$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
 
#nginx的路径
nginx_sbin="/usr/local/nginx/sbin/nginx"
#保存多少天内的日志
save_days=30
 
############################################
# 请勿修改此脚本下面的任何内容!!!!!!!!! #
############################################
mkdir -p $log_files_dir
 
cd $log_files_path
#cut nginx log files
for d in `ls -f *.log`;do
mv ${log_files_path}${d} ${log_files_dir}/$(date -d "yesterday" +"%Y%m%d")_$d
done
 
#delete 30 days ago nginx log files
find $log_files_path -mtime +$save_days -exec rm -rf {} \;
 
$nginx_sbin -s reload