ubuntu服務(wù)器定時備份數(shù)據(jù)庫

1.安裝定時器

apt-get install cron 一般已經(jīng)安裝無需重新安裝、

2.查看是否安裝

service cron status


image.png

3.創(chuàng)建腳本

目錄:/home/backups/mysql/bak.sh

\#!/bin/bash
\#mysql容器名稱
mysql_container="mysql_172"
\#MySQL備份用戶
mysql_user="root"
\#MySQL備份用戶的密碼
mysql_password="數(shù)據(jù)庫密碼"
\#數(shù)據(jù)庫名,可以定義多個數(shù)據(jù)庫,中間以空格隔開,如:test test1 test2
dbname='superzig-operatingtable'
 
\#備份時間
backtime=`date +%Y%m%d%H%M%S`
\#日志備份路徑 此處指向你創(chuàng)建的文件夾
logpath='/home/backups/mysql/log'
\#數(shù)據(jù)備份路徑 此處指向你創(chuàng)建的文件夾
datapath='/home/backups/mysql/data'
 
\#查看備份目錄
if [ ! -d  "$logpath" ]; then 
        mkdir -p "$logpath"
fi
 
\#查看備份目錄
if [ ! -d  "$datapath" ]; then
        mkdir -p "$datapath"
fi
 
\#日志記錄頭部
echo ‘”備份時間為${backtime},備份數(shù)據(jù)庫表 ${dbname} 開始” >> ${logpath}/mysqllog.log
\#正式備份數(shù)據(jù)庫
for table in $dbname;
do
        source=`docker exec -i ${mysql_container} mysqldump  -u${mysql_user} -p\'${mysql_password}\' --single-transaction ${table}> ${datapath}/${backtime}+.sql` 2>> ${logpath}/mysqllog.log;
        #備份成功以下操作
        if [ "$?" != 0 ] ; then
                #備份失敗則進行以下操作
                echo “數(shù)據(jù)庫表 ${dbname} 備份失敗!!” >> ${logpath}/mysqllog.log
        else
                cd $datapath
                \#為節(jié)約硬盤空間,將數(shù)據(jù)庫壓縮
                tar -zcvf ${table}${backtime}.tar.gz ${backtime}.sql > /dev/null
                \#刪除原始文件,只留壓縮后文件
                rm -f ${datapath}/${backtime}.sql
                \#刪除30天前備份
                find $datapath -name "*.tar.gz" -type f -mtime +90 -exec rm -rf {} \; > /dev/null 2>&1
                echo “數(shù)據(jù)庫表 ${dbname} 備份成功!!” >> ${logpath}/mysqllog.log
        fi
done

4.添加定時任務(wù): crontab –e


image.png
image.png

5.重啟定時器:service cron restart

6./home/backups/mysql/data中存儲的是sql語句 /home/backups/mysql/log中存儲的是日志

7.如果數(shù)據(jù)庫端口號不是默認(rèn)的3306,這時備份腳本中可以添加 -P3320, 3320為指定端口號, 如果容器名稱改變了,需要改變腳本中的容器名稱

image.png

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容