課時7-備份與恢復----資料庫備份策略指令碼
一個指令碼
點評:有備份策略,程式碼邏輯也比較完善。
點評:備份邏輯完整,但是沒有體現備份策略和自動化。
點評:很多人都直接借用了,不得不說好。
-
#!/bin/bash
-
export LANG=en_US.UTF-8
-
export LC_CTYPE="zh_CN.UTF-8"
-
-
function usage()
-
{
-
cat << EOF
-
Usage: $0 [OPTION]
-
-?,--help show this help and exit
-
--user=<> set the username to connect the mysql
-
--password=<> set the password to connect the mysql
-
--backuptype=<> set the type of backup,such as DATA_FULL,DATA_INC
-
--defaults-file=<> set the config file
-
--backup_path=<> set the remote host by formate name@host
-
--innoback=<> set the full path of the innoback
-
--xtraback=<> set the full path of the xtraback
-
EOF
-
}
-
-
function get_option()
-
{
-
echo "$1" | sed 's/=[/a-zA-Z0-9]*$//' | sed 's/^--//' | tr '[a-z]' '[A-Z]'
-
}
-
-
function get_option_value()
-
{
-
echo "$1" | sed 's/^--[a-zA-Z_-]*=//'
-
}
-
-
-
function parse_option()
-
{
-
while test $# -gt 0
-
do
-
case $1 in
-
--user=*)
-
USER=`get_option_value "$1"`
-
echo "USER : $USER"
-
;;
-
--password=*)
-
PASSWORD=`get_option_value "$1"`
-
echo "PASSWORD : $PASSWORD"
-
;;
-
--backup_path=*)
-
BACKUP_PATH=`get_option_value "$1"`
-
echo "BACKUP_PATH : $BACKUP_PATH"
-
;;
-
--defaults-file=*)
-
MYCNF=`get_option_value "$1"`
-
echo "MYCNF : $MYCNF"
-
;;
-
--backuptype=*)
-
BACKUPTYPE=`get_option_value "$1"`
-
echo "BACKUPTYPE : $BACKUPTYPE"
-
;;
-
--innoback=*)
-
INNOBACK=`get_option_value "$1"`
-
#echo "INNOBACK : $INNOBACK"
-
;;
-
--xtraback=*)
-
XTRABACK=`get_option_value "$1"`
-
#echo "XTRABACK : $XTRABACK"
-
;;
-
-?|--help)
-
usage
-
exit 0
-
;;
-
*)
-
echo "Unknown option '$1'"
-
;;
-
esac
-
shift
-
done
-
}
-
-
back_full()
-
{
-
parse_option
-
$INNOBACK --user=$USERNAME --password=$PASSWORD --defaults-file=$MYCNF --no-timestamp $DATA_FULL/base$DATE
-
2> $DATA_FULL/timestamp$DATE.log
-
grep 'INNOBACKupex: completed OK!' $DATA_FULL/timestamp$DATE.log
-
}
-
-
back_inc()
-
{
-
parse_option
-
$XTRABACK --defaults-file=$MYCNF --user=$USERNAME --password=$PASSWORD --backup --target-dir=$DATA_I
-
NC/base_inc$DAY --incremental-basedir=$DATA_FULL/base`date -d "$DAY days ago" +%F` 2> $DATA_INC/timestamp$DATE
-
_inc.log
-
}
-
# XTRABACKup conf
-
MYCNF=/home/data/mydata/3308/my.cnf
-
USERNAME=root
-
PASSWORD=ESBecs00
-
BACKUP_PATH=/xback
-
DATA_FULL=$BACKUP_PATH/back_data_full
-
DATA_INC=$BACKUP_PATH/back_data_inc
-
INNOBACK=/usr/bin/innobackupex
-
XTRABACK=/usr/bin/xtrabackup
-
-
mkdir -p $DATA_FULL $DATA_INC
-
-
DAY=`date +%w`
-
echo $DAY
-
#0
-
DATE=`date +%F`
-
echo $DATE
-
#2015-11-22
-
case $DAY in
-
0)
-
# Sunday Full backup
-
back_full
-
;;
-
1)
-
# Monday Relatively Sunday's incremental backup
-
back_inc
-
;;
-
2)
-
# Tuesday Compared with Monday's incremental backup
-
back_inc
-
;;
-
3)
-
# Wednesday Full backup
-
back_inc
-
;;
-
4)
-
# Thursday Relatively Wednesday's incremental backup
-
back_inc
-
;;
-
5)
-
# Friday Compared with Thursday's incremental backup
-
back_inc
-
;;
-
6)
- # Saturday Compared with Friday
-
back_inc
;;
esac
點評:有備份策略,程式碼邏輯也比較完善。
點評:備份邏輯完整,但是沒有體現備份策略和自動化。
點評:很多人都直接借用了,不得不說好。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-1845248/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 備份與恢復:polardb資料庫備份與恢復資料庫
- 【備份恢復】從備份恢復資料庫資料庫
- 資料庫備份與恢復----第一課資料庫
- 恢復目錄資料庫備份指令碼資料庫指令碼
- 資料庫備份與異機恢復——熱備份方式資料庫
- postgresql備份與恢復資料庫SQL資料庫
- mongo資料庫備份與恢復Go資料庫
- 資料庫的備份與恢復資料庫
- Informix資料庫備份與恢復ORM資料庫
- Oracle資料庫備份與恢復之三:OS備份/使用者管理的備份與恢復Oracle資料庫
- 【備份恢復】Oracle 資料備份與恢復微實踐Oracle
- 時序資料庫InfluxDB之備份和恢復策略資料庫UX
- 【備份恢復】noarchive模式下使用增量備份恢復資料庫Hive模式資料庫
- mysql的資料庫備份與恢復MySql資料庫
- oracle資料庫的備份與恢復Oracle資料庫
- 資料庫備份與恢復技術資料庫
- rman資料庫全庫備份與恢復資料庫
- 主庫模型調整需要做一個全庫備份,備份與恢復指令碼模型指令碼
- 資料庫備份指令碼資料庫指令碼
- Mysql資料備份與恢復MySql
- 備份與恢復系列 七 續 catalog中的備份指令碼指令碼
- Oracle資料庫備份與恢復之RMANOracle資料庫
- 關閉資料庫的備份與恢復資料庫
- Oracle資料庫的備份與恢復(轉)Oracle資料庫
- Oracle 資料庫的備份與恢復(轉)Oracle資料庫
- Oracle資料庫的備份及恢復策略研究(轉)Oracle資料庫
- 備份與恢復:Polardb資料庫資料基於時間點恢復資料庫
- 備份與恢復--從備份的歸檔日誌中恢復資料
- Linux定時備份資料庫與指令碼加密Linux資料庫指令碼加密
- 達夢資料庫備份恢復資料庫
- 備份和恢復postgreSQL資料庫SQL資料庫
- 資料庫備份策略資料庫
- 資料庫全備份指令碼資料庫指令碼
- Redis的資料備份與恢復Redis
- RMAN備份恢復——RAC環境資料庫的備份(zt)資料庫
- RMAN備份恢復--RAC環境資料庫的備份(十)資料庫
- RMAN備份恢復——RAC環境資料庫的備份(一)資料庫
- 課時7-備份與恢復----從dump檔案中找出單個表的資訊