nginx日志切割

一、第一种日志切割脚本
#!/bin/bash
logfile="meihua.log mexpo.log news.log adm.log" #需要备份那些日志文件
logs_path="/usr/local/tengine/logs"
pid_path="/usr/local/tengine/logs/nginx.pid"
date=$(date -d "yesterday" +"%Y%m%d") #定义日期
save_path=/data/logbak/$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")  #保存路径
if [ -e ${save_path} ]
then
        echo "${save_path} was exist"
else
        mkdir -p ${save_path}
fi
for log in ${logfile}
do
        mv ${logs_path}/${log} ${save_path}/${log}.${date}.log
#       if [ $? -eq 0 ]
#       then
#               gzip ${save_path}/${log}.${date}.gz ${save_path}/${log}.${date}.log
#       else
#               echo "gzip is wrong"
#               exit 1
#       fi
done
kill -USR1 `cat ${pid_path}` #重新生成日志文件


二、第二种日志切割
#!/bin/bash
logs_path="/usr/local/tengine/logs/"
bak_path="/data/logbak/"
logs_names=(meihua mexpo)
ddir=${bak_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/[ -d $ddir ] && echo  || mkdir $ddir
num=${#logs_names[@]}
for((i=0;i<num;i++));do
mv ${logs_path}${logs_names[i]}.log ${bak_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/${logs_names[i]}_$(date -d
"yesterday" +"%Y%m%d").log
done
kill -USR1 `cat /usr/local/tengine/logs/nginx.pid`


三、创建计划任务
00 00 * * * /bin/bash /usr/local/tengine/cut_log.sh


你可能感兴趣的:(nginx日志切割)