1.編寫shell腳本至儲存 /Data/backup
#!/bin/bash
#定義備份目錄
BAK_DIR=/Data/backup/`date +%Y%m%d`
#定義資料庫變量
MYSQLDB=tp_blog
#定義使用者變量
MYSQLUSR=root
#定義密碼變量
MYSQLPWD=123456
MYSQLCMD=/usr/bin/mysqldump
#判斷是否為root使用者
if [ $UID -ne 0 ];then
echo "沒有權限操作!"
exit
fi
#判斷檔案夾是否存在(當天是否已經進行過備份)
if [ ! -d $BAK_DIR ];then
mkdir -p $BAK_DIR
else
echo "檔案夾已經存在"
fi
$MYSQLCMD -u$MYSQLUSR -p$MYSQLPWD -d $MYSQLDB > $BAK_DIR/$MYSQLDB.sql
if [ $? -eq 0 ];then
echo "備份成功"
else
echo "備份失敗"
fi
2.授權
mysql>grant all on db_name.* to [email protected]'localhost' identified by '123456' ;
mysql>exit;
3.每天運作
[email protected]:~$ crontab -e
0 0 * * * /bin/bash /data/shell/auto_back_mysql.sh >> /tmp/auto_back_mysql.log 2>&1