天天看點

自動備份資料庫的初級shell腳本

 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
           

繼續閱讀