定時將遠程服務器數據庫備份到本地服務器

1.腳本名稱

pro_bkdb.sh

2.腳本內容

#!/bin/bash

## 需要備份數據庫服務信息

# 用戶中心數據庫

FROM_DB_NAME1="xx"

FROM_DB_NAME2="xx"

FROM_DB_NAME3="xx"

FROM_DB_NAME4="xx"

FROM_DB_USER="root"

FROM_DB_PASS="xx"


## 存儲備份數據的服務器信息

TARGET_BACKUP_DIR="/home/backup"


# 判斷備份路徑是否存在,不存在則創建該路徑

if [ ! -d $BACKUP_DIR ];then

        mkdir -p "$BACKUP_DIR"

fi


# 進入備份目錄

cd "$TARGET_BACKUP_DIR"


# 文件名

DUMPFILE1="$FROM_DB_NAME1-$(date +%Y%m%d_%H%M%S).sql.gz"

DUMPFILE2="$FROM_DB_NAME2-$(date +%Y%m%d_%H%M%S).sql.gz"

DUMPFILE3="$FROM_DB_NAME3-$(date +%Y%m%d_%H%M%S).sql.gz"

DUMPFILE4="$FROM_DB_NAME4-$(date +%Y%m%d_%H%M%S).sql.gz"


# 備份xx數據庫

mysqldump -h 數據庫IP地址 -u$FROM_DB_USER -p$FROM_DB_PASS $FROM_DB_NAME1 | gzip > $DUMPFILE1

if [[ $? == 0 ]];then

        echo "$FROM_DB_NAME1 backup success"

else

        echo "$FROM_DB_NAME1 backup fail!"

fi


# xx數據庫

mysqldump -h 數據庫IP地址 -u$FROM_DB_USER -p$FROM_DB_PASS $FROM_DB_NAME4 | gzip > $DUMPFILE4

if [[ $? == 0 ]];then

        echo "$FROM_DB_NAME4 backup success"

else

        echo "$FROM_DB_NAME4 backup fail!"

fi


# xx數據庫

mysqldump -h 數據庫IP地址 -u$FROM_DB_USER -p$FROM_DB_PASS $FROM_DB_NAME2 | gzip > $DUMPFILE2

if [[ $? == 0 ]];then

        echo "$FROM_DB_NAME2 backup success"

else

        echo "$FROM_DB_NAME2 backup fail!"

fi


# xx數據庫

mysqldump -h 數據庫IP地址 -u$FROM_DB_USER -p$FROM_DB_PASS $FROM_DB_NAME3 | gzip > $DUMPFILE3

if [[ $? == 0 ]];then

        echo "$FROM_DB_NAME3 backup success"

else

        echo "$FROM_DB_NAME3 backup fail!"

fi


# 刪除7天前的數據

do_delete()

{

        DELFILES=`find $TARGET_BACKUP_DIR -mtime +7 -type f -exec ls {} \;`

        #DELFILES=`find $TARGET_BACKUP_DIR -mmin +2 -type f -exec ls {} \;`

        for delfile in ${DELFILES}

        do

                rm -rf $delfile

                echo "delete success"

        done

}

do_delete

3.開啓定時任務

vi /etc/crontab

# 添加如下命令,說明:每天1時0分進行數據庫備份操作

00 01 * * * root /home/pro_bkdb.sh

# crontab服務狀態控制可以通過如下命令進行查看和操作

/sbin/service crond start //啓動服務 

/sbin/service crond stop //關閉服務 

/sbin/service crond restart //重啓服務 

/sbin/service crond reload //重新載入配置 

/sbin/service crond status //查看狀態

 service crond start 

service crond stop 

service crond restart 

service crond reload 

service crond status


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