Shell脚本:Nginx自动生成日志备份
#! /bin/bash
# 日志路径可以根据实际项目更改,不存在自动创建文件夹路径
test -d /data/oldlogs || mkdir -p /data/oldlogs
# nginx 每日生成的log路径
log_dir='/data/logs/'
# nginx 需要备份生成的log路径
oldlog_dir='/data/oldlogs/'
# nginx.pid 路径 根据实际项目位置修改,以下仅供参考
pid_dir='/var/run/nginx.pid'
# 备份超过30天的数据 自动删除
Dateago=`date --date '30 days ago' +%Y%m%d`
# 前一天时间
Date1=`date --date '1 days ago' +%Y%m%d`
for i in `ls $log_dir*[gr]`
do
mv "$i" "$i"."$Date1"
mv "$i"."$Date1" "$oldlog_dir"
done
kill -USR1 `cat $pid_dir`
find $oldlog_dir -name "*"$Dateago"*" -exec rm -f {} \;