|
#!/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
|
|
|