mysql 集群备份脚本_mysqldump结合脚本的备份方案
1、備份腳本的簡介
腳本分為兩個部分,主控腳本與備份子腳本。
1.1、備份子腳本
-完成mysql基本的備份功能
-自動日期時間命名備份文件(不產生重復名稱的備份)
-提供壓縮(節省大量的空間)
1.2、主控腳本
-調用備份子腳本(代碼復用)
-清理mysql舊的備份文檔(可定義多少天內的保留)
2、生成備份腳本
2.1、創建腳本目錄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?#數據庫的用戶名
passwd=mysql_password?#數據庫的密碼
saveTime=7?#多少天之內的保留,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行備份數據庫db1、db2
2.3.2 備份所有的庫#!/bin/bash
bkDir=/var/lib/backup/
wkDir=~/script/
user=mysql_user?#數據庫的用戶名
passwd=mysql_password?#數據庫的密碼
saveTime=7?#多少天之內的保留,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行備份所有的數據庫
3、使用腳本
編輯計劃任務:crontab?-e
加入如下內容:0?*/1?*?*?*?sh??~/script/dbMan.sh
以上1個小時產生一個備份
總結
以上是生活随笔為你收集整理的mysql 集群备份脚本_mysqldump结合脚本的备份方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iQOO 11s关键配置信息曝光 或将于
- 下一篇: 小爱音箱儿童版上市!专为3-6岁儿童设计