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 {} \;