#!/bin/bash #File: mysql_backup.sh #Date 2016-1-9 BACKDES=/data/msyql_back/`date +%Y-%m-%d` //创建存放备份数据的目录 BACKNAME=`date +%Y-%m-%d` //备份时取名,可以省略 DATABASE=test //备份的数据库 MYSQLUSER=root //备份时的用户名 #MYSQLSEC= //备份时的密码,考虑安全,一般手动输入 if [ $UID -ne 0 ] ; then //此段if语句,表示必须使用root用户备份 echo " You must use root to backup!" sleep 2 exit fi if [ ! -d $BACKDES ] ; then //此段if语句,表示存放数据的目录不存在就创建 mkdir -p $BACKDES else echo "This dir exists." fi cd $BACKDES && /usr/bin/mysqldump -u $MYSQLUSER -p -d $DATABASE > "$BACKNAME".sql //进入到存放数据的目录中,在当前执行备份数据库的命令 if [ $? -le 0 ] ; then //此段if语句表示上一条指令执行成功,则将.sql打包,并提示导出数据库成功 tar -czvf "$BACKNAME".tar.gz "$BACKNAME".sql echo "$DATABASE check is successful!" else echo "Checkout $DATABASE is not successful!" fi cd /data/msyql_back/ && find . -type d -mtime +10 -exec rm -rf {} \; && ls //删除10天前的目录,并查看当前目录 if [ $? -le 0 ] ; then //如果上一条执行成功,提示数据备份完成,否则提示有报错,需要检查。 echo "Congratulations, the data package backup successful!" else echo "Sorry, something error, must check it!" fi
本文出自 “经验来自痛苦” 博客,谢绝转载!
原文:http://strike.blog.51cto.com/10311680/1733394