寫一個(gè)shell腳本備份mysql數(shù)據(jù)庫(kù)的步驟

下文我給大家簡(jiǎn)單講講關(guān)于寫一個(gè)shell腳本備份MySQL數(shù)據(jù)庫(kù)的步驟,大家之前了解過(guò)相關(guān)類似主題內(nèi)容嗎?感興趣的話就一起來(lái)看看這篇文章吧,相信看完寫一個(gè)shell腳本備份mysql數(shù)據(jù)庫(kù)的步驟對(duì)大家多少有點(diǎn)幫助吧。 

成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的東寧網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

mysql數(shù)據(jù)庫(kù)shell備份腳本

任何項(xiàng)目的運(yùn)行都離不開數(shù)據(jù),持久化數(shù)據(jù)對(duì)于一個(gè)企業(yè)尤為重要,任何時(shí)候都不可掉以輕心,下面是我自己寫的一個(gè)shell腳本,用來(lái)備份數(shù)據(jù),分享給大家。

#!/bin/bash
# 數(shù)據(jù)庫(kù)連接信息
MY_user=""
MY_pass=""
MY_port="3306"

# 環(huán)境變量
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/data/mysql_57/bin
export PATH
MY_data=`date "+%F"`

# 腳本日志
SHELL_LOG="/root/mysql_bak.sh.log"

# mysql 目錄
Mysql_datadir="/data/mysql_57"
Mysql_Binlog_dir="/data/mysql_57/logs/bin-log"

# 備份目錄
Bak_dir="/root/mysql_data"
Full_dir=${Bak_dir}/full  # 全量備份目錄
DB_dir=${Bak_dir}/db  # 單庫(kù)備份目錄
Binlog_dir=${Bak_dir}/binlog  # 增量二進(jìn)制備份目錄

# Write Log 
shell_log(){
    LOG_INFO=$1
    echo "$(date "+%F") $(date "+%T") : $0 : ${LOG_INFO}" >> ${SHELL_LOG}
}
case $1 in
# 全量備份
Full)
    mysqldump -u${MY_user} -p${MY_pass} -P${MY_port} -A -B -F -R -x --events|gzip > ${Full_dir}/${MY_data}_all.sql.gz
    if [[ $? -eq 0 ]];then
        shell_log "SUCCESS: mysql Full database bak is success"
    else
        shell_log "ERROR: mysql Full database bak error"
    fi
;;
# 單庫(kù)備份
db)
    db_fun(){
        DB_name=$1
        mysqldump -u${MY_user} -p${MY_pass} -P${MY_port} -F -B  ${DB_name}|gzip > ${DB_dir}/${MY_data}_${DB_name}.sql.gz
        if [[ $? -eq 0 ]];then
            shell_log "SUCCESS: mysql database ${DB_name} bak is success"
        else
            shell_log "ERROR: mysql database ${DB_name} bak error"
        fi
    }
    db_fun cadavertrace
;;
# 增量備份(全量和單庫(kù)備份都會(huì)刷新二進(jìn)制日志)
increment)
    cd ${Mysql_Binlog_dir}
    binlog=`ls -At mysql-bin* | head -n 1`
    gzip -c ${binlog} > ${Binlog_dir}/${binlog}.gz
    mysql -u${MY_user} -p${MY_pass} -P${MY_port} -e "flush logs;" 2> /dev/null
;;
*)
    echo "ERROR: Usage: mysqlbak [ Full | db | increment ]"
;;
esac
#if [[ $# -eq 0 ]];then
#   echo "Invalid paramete;Full | db | increment"  

#fi

大家覺(jué)得寫一個(gè)shell腳本備份mysql數(shù)據(jù)庫(kù)的步驟這篇文章怎么樣,是否有所收獲。如果想要了解更多相關(guān),可以繼續(xù)關(guān)注我們的行業(yè)資訊板塊。

新聞名稱:寫一個(gè)shell腳本備份mysql數(shù)據(jù)庫(kù)的步驟
轉(zhuǎn)載注明:http://www.muchs.cn/article0/gjggoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、標(biāo)簽優(yōu)化網(wǎng)站設(shè)計(jì)公司、自適應(yīng)網(wǎng)站服務(wù)器托管、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化