Mysql數(shù)據(jù)庫定時(shí)備份腳本分享
BackUpMysql.sh腳本
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH
#數(shù)據(jù)庫ip
DBHOST=''
#數(shù)據(jù)庫用戶名
DBUSER=''
#數(shù)據(jù)庫用密碼
DBPASSWD=''
#需要備份的數(shù)據(jù)庫,多個(gè)數(shù)據(jù)庫用空格分開
DBNAME=''
#備份時(shí)間
backtime=`date +%Y-%m-%d_%H%M%S`
#備份路徑(當(dāng)前目錄)
BACKPATH=$(dirname $(readlink -f $0))
echo $BACKPATH
#日志備份路徑
LOGPATH="${BACKPATH}/log"
#數(shù)據(jù)備份路徑
DBPATH="${BACKPATH}/db"
#創(chuàng)建備份目錄
[ ! -d "${LOGPATH}" ] && mkdir -p "${LOGPATH}"
[ ! -d "${DBPATH}" ] && mkdir -p "${DBPATH}"
#日志記錄頭部
echo "備份時(shí)間為${backtime},備份數(shù)據(jù)庫表 ${DBNAME} 開始" >> ${LOGPATH}/mysqlback.log
#正式備份數(shù)據(jù)庫
for table in $DBNAME; do
source=`mysqldump -u ${DBUSER} -h${DBHOST} -p${DBPASSWD} ${table}> ${LOGPATH}/${backtime}.sql` 2>> ${LOGPATH}/mysqlback.log;
#備份成功以下操作 $?獲取上一個(gè)命令的操作結(jié)果,0代表成功
if [ "$?" == 0 ];then
cd ${LOGPATH}
#為節(jié)約硬盤空間,將數(shù)據(jù)庫壓縮
tar -czf ${DBPATH}/${table}${backtime}.tar.gz ./${backtime}.sql > /dev/null
#刪除原始文件,只留壓縮后文件
rm -f ${LOGPATH}/${backtime}.sql
#刪除七天前備份,也就是只保存7天內(nèi)的備份
find $DBPATH -name "*.tar.gz" -type f -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1
echo "數(shù)據(jù)庫表 ${DBNAME} 備份成功!!" >> ${LOGPATH}/mysqlback.log
else
#備份失敗則進(jìn)行以下操作
echo "數(shù)據(jù)庫表 ${DBNAME} 備份失敗!!" >> ${LOGPATH}/mysqlback.log
fi
done
通過 crontab 定時(shí)執(zhí)行 BackUpMysql.sh 腳本,配置每天晚上12點(diǎn)執(zhí)行
運(yùn)行 crontab -e
輸入
59 23 * * * /data/mysqlbak/BackUpMysql.sh
本文作者: 低調(diào)小熊貓
本文鏈接: http://ilovey.live/archives/Mysqlbackupshell
以上就是Mysql數(shù)據(jù)庫定時(shí)備份腳本分享的詳細(xì)內(nèi)容,更多關(guān)于Mysql定時(shí)備份腳本的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- shell腳本定時(shí)備份MySQL數(shù)據(jù)庫數(shù)據(jù)并保留指定時(shí)間
- MySQL定時(shí)備份數(shù)據(jù)庫操作示例
- Linux實(shí)現(xiàn)定時(shí)備份MySQL數(shù)據(jù)庫并刪除30天前的備份文件
- MySQL數(shù)據(jù)庫定時(shí)備份的實(shí)現(xiàn)方法
- linux實(shí)現(xiàn)定時(shí)備份mysql數(shù)據(jù)庫的簡(jiǎn)單方法
- mysql自動(dòng)定時(shí)備份數(shù)據(jù)庫的最佳方法(windows服務(wù)器)
- MySQL 數(shù)據(jù)庫定時(shí)備份的幾種方式(全面)
相關(guān)文章
MySql數(shù)據(jù)庫中Select用法小結(jié)
在程序開發(fā)中數(shù)據(jù)庫是必要知識(shí)點(diǎn),今天小編給大家介紹mysql數(shù)據(jù)庫中的select用法,包括條件篩選、指定篩選和分組顯示查詢語句的寫法,非常不錯(cuò),對(duì)mysql select用法相關(guān)知識(shí)感興趣的朋友一起看看吧2016-10-10
MySQL復(fù)合查詢(多表查詢、子查詢)的實(shí)現(xiàn)
MySQL復(fù)合查詢是指在一個(gè)SQL語句中使用多個(gè)查詢條件,以過濾和檢索數(shù)據(jù),本文主要介紹了MySQL復(fù)合查詢(多表查詢、子查詢)的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12
MySQL Installer is running in Community mode 的解決辦法
這篇文章主要介紹了MySQL Installer is running in Community mode 的解決辦法,需要的朋友可以參考下2018-06-06
MySQL中主鍵為0與主鍵自排約束的關(guān)系詳解(細(xì)節(jié))
這篇文章主要給大家介紹了關(guān)于MySQL中主鍵為0與主鍵自排約束的關(guān)系的相關(guān)資料,主要介紹的是其中的一些非常細(xì)的細(xì)節(jié),對(duì)大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05
mysql查詢字符串中某個(gè)字符串出現(xiàn)的次數(shù)(實(shí)例詳解)
這篇文章主要介紹了mysql查詢字符串中某個(gè)字符串出現(xiàn)的次數(shù),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04

