#!/bin/sh
if [ $# -lt 3 ];
then
echo "参数个数错误:log_path dst_path timeout_day, 例子: ./log ./backup 3"
exit
fi
#策略:3天前移动到备份并压缩
LOG_PATH=$1
DST_PATH=$2
BACKUP_LOG_DATE=`date -d "$3 day ago" +"%Y%m%d"`
echo $LOG_PATH $DST_PATH $BACKUP_LOG_DATE
function FuncTryMkdir()
{
# 创建备份目录
if test -d $1
then
#echo "已存在目标文件夹:"$1
return
else
mkdir $1
fi
}
FuncTryMkdir $DST_PATH
#遍历并移动过期日志文件
for FILE_NAME in $LOG_PATH/*
do
BASE_NAME=`basename $FILE_NAME`
DATA_DIR=${BASE_NAME:0-11:8}
#N天前的文件,创建目录,并移动
if (("$DATA_DIR" < "$BACKUP_LOG_DATE"));then
BACKUP_DIR=$DST_PATH"/"$DATA_DIR"/"
FuncTryMkdir $BACKUP_DIR
mv $FILE_NAME $BACKUP_DIR
fi
done
#遍历备份并压缩
cd $DST_PATH
for FILE_NAME in ./*
do
if test -d $FILE_NAME
then
BASE_NAME=`basename $FILE_NAME`
tar czf $BASE_NAME.tar.gz $BASE_NAME
rm -rf $BASE_NAME
fi
done
posted on 2020-10-15 19:01
长戟十三千 阅读(527)
评论(0) 编辑 收藏 引用 所属分类:
环境配置