在数据库中授权MYDB数据库给backup用户 grant all on MYDB.* to backup@'localhost'> 对以上文档稍作修改如下:
-------------------------auto_mysql_backup02.sh---------------------------------------
#!/bin/bash
#auto backup database
#from net video 2017
BAK_DIR=/data/backup/`date +%Y%m%d`
MYSQLDB=$1
MYSQLCMD=/usr/bin/mysqldump
if [ $UID -ne 0 ];then
echo "Must to be use root for exec shell."
exit
fi
#增加的代码如下
if [ -z "$1" ];then
echo -e "\033[32mUsage:\nPlease Enter DataBase that you will backup \n-------------------------------\n\nUsage: { $0 mysql } \033[0m"
exit
fi
if [ ! -d $BAK_DIR ];then
mkdir -p $BAK_DIR
echo -e "\033[32mThe $BAK_DIR Creat Successfully!\033[0m"
else
echo "This $BAK_DIR is exists..."
fi
#Mysql BACKUP COMMAND
$MYSQLCMD --defaults-extra-file=/etc/my.cnf -d $MYSQLDB >$BAK_DIR/$MYSQLDB.sql
if [ $? -eq 0 ];then
echo -e "\033[32mThe Mysql Backup $MYSQLDB Successfully!\033[0m"
else
echo -e "\033[32mThe Mysql Backup $MYSQLDB Failed,Please check.\033[0m"
fi
---------------------------------------------------------------------------------------------------
sh auto_mysql_backup02.sh MYDB --这样就可以备份指定的数据库了,只要授权给了backup用户,这里的授权用户我们也可以做成输入参数$2来处理。