设为首页 加入收藏

TOP

xtrabackup自动备份脚本(二)
2015-11-21 02:04:17 来源: 作者: 【 】 浏览:4
Tags:xtrabackup 自动 备份 脚本
OG rm -f $TMPLOG exit 1 fi THISBACKUP=`awk -- "/Backup created in directory/ { split( \\\$0, p, \"'\" ) ; print p[2] }" $TMPLOG` rm -f $TMPLOG echo -n "数据库成功备份到:$THISBACKUP" echo # 提示应该保留的备份文件起点 LATEST_FULL_BACKUP=`find $FULLBACKUP_DIR -mindepth 1 -maxdepth 1 -type d -printf "%P\n" | sort -nr | head -1` NEW_INCRDIR=$INCRBACKUP_DIR/$LATEST_FULL_BACKUP LATEST_INCR_BACKUP=`find $NEW_INCRDIR -mindepth 1 -maxdepth 1 -type d -printf "%P\n" | sort -nr | head -1` RES_FULL_BACKUP=${FULLBACKUP_DIR}/${LATEST_FULL_BACKUP} RES_INCRE_BACKUP=`dirname ${INCRBACKUP_DIR}/${LATEST_FULL_BACKUP}/${LATEST_INCR_BACKUP}` echo echo -e '\e[31m NOTE:---------------------------------------------------------------------------------.\e[m' #红色 echo -e "必须保留$KEEP_FULLBACKUP份全备即全备${RES_FULL_BACKUP}和${RES_INCRE_BACKUP}目录中所有增量备份." echo -e '\e[31m NOTE:---------------------------------------------------------------------------------.\e[m' #红色 echo else echo "*********************************" echo -e "正在执行全新的完全备份...请稍等..." echo "*********************************" $INNOBACKUPEXFULL --defaults-file=$MY_CNF --use-memory=4G $MYSQL_CMD $FULLBACKUP_DIR > $TMPLOG 2>&1 #保留一份备份的详细日志 cat $TMPLOG>/backup/$logfiledate if [ -z "`tail -1 $TMPLOG | grep 'innobackupex: completed OK!'`" ] ; then echo "$INNOBACKUPEX命令执行失败:"; echo echo -e "---------- $INNOBACKUPEX_PATH错误 ----------" cat $TMPLOG rm -f $TMPLOG exit 1 fi THISBACKUP=`awk -- "/Backup created in directory/ { split( \\\$0, p, \"'\" ) ; print p[2] }" $TMPLOG` rm -f $TMPLOG echo -n "数据库成功备份到:$THISBACKUP" echo # 提示应该保留的备份文件起点 LATEST_FULL_BACKUP=`find $FULLBACKUP_DIR -mindepth 1 -maxdepth 1 -type d -printf "%P\n" | sort -nr | head -1` RES_FULL_BACKUP=${FULLBACKUP_DIR}/${LATEST_FULL_BACKUP} echo echo -e '\e[31m NOTE:---------------------------------------------------------------------------------.\e[m' #红色 echo -e "无增量备份,必须保留$KEEP_FULLBACKUP份全备即全备${RES_FULL_BACKUP}." echo -e '\e[31m NOTE:---------------------------------------------------------------------------------.\e[m' #红色 echo fi #删除过期的全备 echo -e "find expire backup file...........waiting........." echo -e "寻找过期的全备文件并删除">>/backup/$logfiledate for efile in $(/usr/bin/find $FULLBACKUP_DIR/ -mtime +6) do if [ -d ${efile} ]; then rm -rf "${efile}" echo -e "删除过期全备文件:${efile}" >>/backup/$logfiledate elif [ -f ${efile} ]; then rm -rf "${efile}" echo -e "删除过期全备文件:${efile}" >>/backup/$logfiledate fi; done if [ $? -eq "0" ];then echo echo -e "未找到可以删除的过期全备文件" fi echo echo "完成于: `date +%F' '%T' '%w`" exit 0 -------------------------执行结果如: Warning: Using a password on the command line interface can be insecure. ---------------------------- ./backup.sh: MySQL备份脚本 开始于: 2015-04-03 16:35:11 5 ********************************* 正在执行全新的完全备份...请稍等... ********************************* 数据库成功备份到:/backup/full/2015-04-03_16-35-11 NOTE:---------------------------------------------------------------------------------. 无增量备份,必须保留1份全备即全备/backup/full/2015-04-03_16-35-11. NOTE:----------------------------
首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Redis数据类型--hash 下一篇数据库设计之主键的思考

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: