#!/bin/bash
#备份目录
info_backdir=/backup/log/info/`date -d "30 day ago" +%F |awk -F "-" '{print $1"-"$2}'`
error_backdir=/backup/log/error/`date -d "30 day ago" +%F |awk -F "-" '{print $1"-"$2}'`
#获取info日志目录
info_log_dir=$(ls /data/logs/hzCloud/info/*/info-`date -d "30 day ago" +%F`.*.log |awk 'BEGIN{FS=OFS="/"}{NF--;}{print}' |head -n 1)
#获取error日志目录
error_log_dir=$(ls /data/logs/hzCloud/error/error-`date -d "30 day ago" +%F`.*.log |awk 'BEGIN{FS=OFS="/"}{NF--;}{print}' |head -n 1)
#判断目录是否存在,没有就创建
if [ ! -d "$info_backdir" ]; then
mkdir -p $info_backdir
fi
if [ ! -d "$error_backdir" ]; then
mkdir -p $error_backdir
fi
#压缩日志到备份目录
echo '开始备份日志并压缩...'
if [ -f $info_log_dir/info-`date -d "30 day ago" +%F`.*.log ];then
mv $info_log_dir/info-`date -d "30 day ago" +%F`.*.log $info_backdir/
cd $info_backdir
tar -zcvf $info_backdir/info-`date -d "30 day ago" +%F`.tar.gz info-`date -d "30 day ago" +%F`.*.log
else
echo "该info日志文件不存在"
fi
if [ -f $error_log_dir/error-`date -d "30 day ago" +%F`.*.log ];then
mv $error_log_dir/error-`date -d "30 day ago" +%F`.*.log $error_backdir/
cd $error_backdir
tar -zcvf $error_backdir/error-`date -d "30 day ago" +%F`.tar.gz error-`date -d "30 day ago" +%F`.*.log
else
echo "该error日志文件不存在"
fi
echo '压缩完毕...'
标签:info,ago,log,backdir,备份,30,error,日志
From: https://www.cnblogs.com/azhe6/p/18135600