shell---mysql备份

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


本文出自 “经验来自痛苦” 博客,谢绝转载!

你可能感兴趣的:(备份,shell,每天一个)