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ù)庫的簡單方法
- mysql自動(dòng)定時(shí)備份數(shù)據(jù)庫的最佳方法(windows服務(wù)器)
- MySQL 數(shù)據(jù)庫定時(shí)備份的幾種方式(全面)
相關(guān)文章
Windows Server 2003 下配置 MySQL 集群(Cluster)教程
這篇文章主要介紹了Windows Server 2003 下配置 MySQL 集群(Cluster)教程,本文先是講解了原理知識(shí),然后給出詳細(xì)配置步驟和操作方法,需要的朋友可以參考下2015-06-06
MYSQL數(shù)據(jù)庫導(dǎo)入數(shù)據(jù)時(shí)出現(xiàn)亂碼的解決辦法
我是用的最后一種方法,前面三種解決MYSQL導(dǎo)入數(shù)據(jù)亂碼的方法沒試過,東莞SEO推薦大家直接使用第四種方法處理MYSQL導(dǎo)入中文數(shù)據(jù)時(shí)的亂碼問題。2011-01-01
MySQL timestamp的類型與時(shí)區(qū)實(shí)例詳解
這篇文章主要介紹了 MySQL timestamp的類型與時(shí)區(qū)實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2016-11-11
MySQL Packet for query is too large 問題及解決方法
這篇文章主要介紹了MySQL Packet for query is too large 問題及解決方法,需要的朋友可以參考下2018-05-05
Windows?Server?2019?MySQL數(shù)據(jù)庫的安裝與配置理論+遠(yuǎn)程連接篇
mysql是一款關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由MySQL?AB公司開發(fā),目前屬于Oracle旗下產(chǎn)品,MySQL是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一。MySQL也是一款開源的SQL數(shù)據(jù)庫管理系統(tǒng),是眾多小型網(wǎng)站作為網(wǎng)站數(shù)據(jù)庫的首選數(shù)據(jù)庫2023-05-05
關(guān)于MySQL的時(shí)間進(jìn)位問題淺析
這篇文章主要給大家介紹了關(guān)于MySQL的時(shí)間進(jìn)位問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12

