mysql 集群备份脚本_mysqldump结合脚本的备份方案
1、備份腳本的簡介
腳本分為兩個部分,主控腳本與備份子腳本。
1.1、備份子腳本
-完成mysql基本的備份功能
-自動日期時(shí)間命名備份文件(不產(chǎn)生重復(fù)名稱的備份)
-提供壓縮(節(jié)省大量的空間)
1.2、主控腳本
-調(diào)用備份子腳本(代碼復(fù)用)
-清理mysql舊的備份文檔(可定義多少天內(nèi)的保留)
2、生成備份腳本
2.1、創(chuàng)建腳本目錄mkdir?~/script/
2.2、備份子腳本代碼
vim編輯~/script/dbBack.sh#!/bin/bash
user=$1
passwd=$2
dbName=$3
bkDir=$4
dt=$(date?+"%Y-%m-%d_%H%M%S")
dbBkName=$dbName-$dt.sql
if?[?$dbName?==?'--all-databases'?];?then
dbBkName="all-databases-"$dt.sql
fi
#echo?$user
#echo?$passwd
#echo?$dbBkName
if?[?$dbName?==?'--all-databases'?];?then
mysqldump?-u$user?-p$passwd?--all-databases?>?$bkDir$dbBkName
else
mysqldump?-u$user?-p$passwd?$dbName?>?$bkDir$dbBkName
fi
tar?-zcvf?$bkDir$dbBkName.tar.gz?$bkDir$dbBkName
rm?-rf?$bkDir$dbBkName
2.3、主控腳本代碼
2.3.1 單庫備份
vim編輯~/script/dbMan.sh#!/bin/bash
bkDir=/var/lib/backup/
wkDir=~/script/
user=mysql_user?#數(shù)據(jù)庫的用戶名
passwd=mysql_password?#數(shù)據(jù)庫的密碼
saveTime=7?#多少天之內(nèi)的保留,7天之外的刪除
if?[?!?-d?$bkDir?];?then
mkdir?-p?$bkDir
fi
cd?$wkDir
sh?dbBack.sh?$user?$passwd?db1?$bkDir
sh?dbBack.sh?$user?$passwd?db2?$bkDir
cd?$bkDir
#find?-name?"*.gz"?-ctime?+$saveTime?-exec?ls?{}?\;
find?-name?"*.gz"?-ctime?+$saveTime?-exec?rm?-rf?{}?\;
注:修改13-14行備份數(shù)據(jù)庫db1、db2
2.3.2 備份所有的庫#!/bin/bash
bkDir=/var/lib/backup/
wkDir=~/script/
user=mysql_user?#數(shù)據(jù)庫的用戶名
passwd=mysql_password?#數(shù)據(jù)庫的密碼
saveTime=7?#多少天之內(nèi)的保留,7天之外的刪除
if?[?!?-d?$bkDir?];?then
mkdir?-p?$bkDir
fi
cd?$wkDir
sh?dbBack.sh?$user?$passwd?--all-databases?$bkDir
cd?$bkDir
#find?-name?"*.gz"?-ctime?+$saveTime?-exec?ls?{}?\;
find?-name?"*.gz"?-ctime?+$saveTime?-exec?rm?-rf?{}?\;
注:13行備份所有的數(shù)據(jù)庫
3、使用腳本
編輯計(jì)劃任務(wù):crontab?-e
加入如下內(nèi)容:0?*/1?*?*?*?sh??~/script/dbMan.sh
以上1個小時(shí)產(chǎn)生一個備份
總結(jié)
以上是生活随笔為你收集整理的mysql 集群备份脚本_mysqldump结合脚本的备份方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iQOO 11s关键配置信息曝光 或将于
- 下一篇: linux cmake编译源码,linu