利用shell腳本去備份所指定的數據庫

#! /bin/bash

logintool=/home/yx/server/mysql/mysql/bin/mysql
dumptool=/home/yx/server/mysql/mysql/bin/mysqldump
username=root
passwd=`cat /home/yx/stt/shellmysql/dumpsql/.passwd`
socketfile=/var/run/mysqld/mysqld.sock
storepath=/home/yx/backup/hnf_file
now=`date +%Y%m%d%H%M%S`

password=${passwd}
stty erase '^H'
read -p "請輸入庫名:" dbname

        if [[ -z ${dbname} ]];then

                echo -e "你輸出的庫名爲空,請輸入庫名!\n"
                exit 100
        else

                dbcheck=`${logintool} -u ${username} -p${password} -e "show databases;" 2>/dev/null | grep -w "${dbname}"`

                if [[ -z ${dbcheck} ]];then

                        echo -e "你要導出的庫不存在!請重新輸入正確的dbname!\n"
                        exit 100

                fi
        fi

${dumptool} -u ${username} -p${password} -S ${socketfile} --set-gtid-purged=off ${dbname}  > ${storepath}/${dbname}-${now}.sql

echo -e "${dbname}庫 已經備份完畢!\n"
echo "保存路徑爲:${storepath}/${dbname}-${now}.sql"``

然後執行這個腳本,會提示你輸入想要備份的數據庫
利用shell腳本去備份所指定的數據庫
這樣就比用正常的命令備份方便了很多,也不用每次輸入密碼和端口號了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章