shell脚本--自动备份应用日志


[root@deploy scripts]# cat logs_bak_v2.sh 

#!/usr/bin/env bash
# Description:查找两天前修改的应用日志,打包备份之后后删除
# DATE:2019-06-15

# 加载系统函数
. /etc/init.d/functions

# 加载环境变量
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

#自定义变量
DATE="`date +%F'-'%H-%M`"
IP="`ifconfig |awk 'NR==2{print $2}'`"   ###需要适当改动
LOG_FILE="/tmp/backup.log"
APP_LOGDIR="/opt/payment/logs"               ###需要适当改动
BACK_DIR="/opt/payment/HW-backup/logbackup"
APP="`ls ${APP_LOGDIR}`"

#定义日志输出
output_ok_msg () {
    for msg in $*;do
        action ${msg} /bin/true
    done
}

output_fail_msg () {
    for msg in $*;do
        action ${msg} /bin/false
    done
}

#应用日志备份函数
log_back () {
for i in $*;do
cd ${APP_LOGDIR}/${i}
find . -mtime +2 -type f | xargs tar zcvf ${BACK_DIR}/${APP}/${IP}_${i}_${DATE}.tar.gz >/dev/null 2>&1
if [ $? -eq 0 ];then
    find . -mtime +2 -type f | xargs rm >/dev/null 2>&1
    output_ok_msg ${i}日志备份完成
    echo ${DATE}: ${i}日志备份完成 >>${LOG_FILE}
else
    output_fail_msg ${i}未找到符合条件的应用日志
    echo ${DATE}: ${i}未找到符合条件的应用日志 >>${LOG_FILE}
fi
#find . -mtime +1 -type f -exec tar zcvf /opt/back/${IP}_${i}_${DATE}.tar.gz {} \;
#find . -mtime +1 -type f -exec cp {} /opt \;
#find . -mtime +1 -type f -exec rm {} \;
done
}

log_back ${APP}


猜你喜欢

转载自blog.51cto.com/13777088/2417710