#!/bin/bash
#備份存儲路徑
# 加判斷是否存在,建立、報警,繼續備份
bakdir=/data/backup/fileback
#要備份的路徑
filedir=/docker/bitbucket/var/
#備份日志記錄
logdir=/tools/backup/filebaklog/`date +%w`filebackup.log
#郵件接收人
[email protected]
#擷取ip
get_ip() {
#cmd_get_ip = "/sbin/ifconfig |grep 'inet addr'|awk -F\: '{print $2}'|awk '{print $1}' | grep -v '^127' | grep -v '192'"
#cmd_get_ip = "ifconfig |grep 'inet addr'|awk -F\: '{print $2}'|awk '{print $1}' | grep -v '^127'"
#return cmd_get_ip
#cmd_get_ip=$(/sbin/ifconfig |grep 'inet 192.168.136'|awk -F ' ' '{print $2}'|awk '{print $1}')
cmd_get_ip=$(/sbin/ifconfig |grep "192.168.1\." |awk -F ' ' '{print $2}'|tr -d "位址:"|tr -d "addr:")
echo $cmd_get_ip
}
ip=$(get_ip)
#清理過期檔案,執行備份
bak() {
#進入備份存儲路徑
cd $bakdir
# 清理6天前的備份
find ./ -name \*.tar.gz -mtime +6 -delete
#進入目錄
cd $filedir
#執行備份
echo `date`'/docker/bitbucket/var/atlassian/路徑備份開始' > $logdir
tar -zcvf $bakdir/`date +%Y%m%d`atlassian.tar.gz atlassian/ >> $logdir 2>&1
echo `date`'/docker/bitbucket/var/atlassian/路徑備份結束' >> $logdir
}
dubakdir() {
# 備份完成郵件通知備份情況
echo -e "備份存儲路徑:$bakdir\\n`ls -lh $bakdir/`" | mail -s $ip'檔案備份情況成功' $receive
}
if [ -d $filedir ];then
if [ -d $bakdir ];then
bak
dubakdir
else
echo $ip'備份存儲路徑被删除,即将重建立立,繼續備份'| mail -s $ip'備份路徑異常' $receive
mkdir -p $bakdir
bak
dubakdir
fi
else
echo $ip'要備份目錄丢失,備份失敗'|mail -s $ip'目錄備份失敗' $receive
dubakdir
fi