shell实现MySQL全量备份

#!bin/bash

dir=/opt/mysqldata_backups
date=`date "+%Y_%m_%d"`

DoBackup(){
result=$((mysqldump -uroot -pcbvt8888 -A > ${dir}/${date}.sql) 2>&1)
if [[ $? -ne 0 ]];then
 date=`date "+%Y_%m_%d"`
 rm -f ${date}.sql
 now_time='['$(date +"%Y-%m-%d %H:%M:%S")']'
 echo -e ${now_time}: 备份失败,原因:${result} >> erro-$(date +"%Y-%m-%d").log
 exit 1
fi
}

function write_log(){
now_time='['$(date +"%Y-%m-%d %H:%M:%S")']'
echo -e ${now_time}: 完成MySQL全库备份 >> backup.log
}

DeleteOldFile(){
day=`date "+%Y_%m_%d" | awk -F "_" {'print $3'}`
date=`date "+%Y_%m"`_`expr $day - 1`
oldfile=`ls | grep $date`
if [ -e "$oldfile" ];then
 rm -f  ${oldfile}
fi
}
DoBackup
write_log
DeleteOldFile

说明:本文只用于记录本人的实践经历,仅供参考,谢谢!

猜你喜欢

转载自blog.51cto.com/9605182/2665577