xtrabackup全量,增量備份指令碼(拿走即用)
#!/bin/sh
# add ling
INNOBACKUPEX=innobackupex
INNOBACKUPEXFULL=/usr/bin/$INNOBACKUPEX
TODAY=`date +%Y%m%d%H%M`
USEROPTIONS="--user=user --password=123456"
TMPFILE="/logs/mysql/incr_$TODAY.$$.tmp"
MYCNF=/etc/my.cnf
MYSQL=/usr/local/mariadb/bin/mysql
MYSQLADMIN=/usr/local/mariadb/bin/mysqladmin
BACKUPDIR=/backup/mysql # 備份的主目錄
FULLBACKUPDIR=$BACKUPDIR/full # 全庫備份的目錄
INCRBACKUPDIR=$BACKUPDIR/incr # 增量備份的目錄
#############################################################################
# Display error message and exit
#############################################################################
error()
{
echo "$1" 1>&2
exit 1
}
# Check options before proceeding
if [ ! -x $INNOBACKUPEXFULL ]; then
error "$INNOBACKUPEXFULL does not exist."
fi
if [ ! -d $BACKUPDIR ]; then
error "Backup destination folder: $BACKUPDIR does not exist."
fi
if [ -z "`$MYSQLADMIN $USEROPTIONS status | grep 'Uptime'`" ] ; then
error "HALTED: MySQL does not appear to be running."
fi
if ! `echo 'exit' | $MYSQL -s $USEROPTIONS` ; then
error "HALTED: Supplied mysql username or password appears to be incorrect (not copied here for security, see script)."
fi
# Some info output
echo "----------------------------"
echo
echo "$0: MySQL backup script"
echo "started: `date`"
echo
# Create full and incr backup directories if they not exist.
for i in $FULLBACKUPDIR $INCRBACKUPDIR
do
if [ ! -d $i ]; then
mkdir -pv $i
fi
done
# Find latest full backup
LATEST_FULL=`find $FULLBACKUPDIR -mindepth 1 -maxdepth 1 -type d -printf "%P\n"`
echo "LATEST_FULL=$LATEST_FULL"
# Run an incremental backup if latest full is still valid.
# Create incremental backups dir if not exists.
TMPINCRDIR=$INCRBACKUPDIR/$LATEST_FULL
mkdir -p $TMPINCRDIR
BACKTYPE="incr"
# Find latest incremental backup.
LATEST_INCR=`find $TMPINCRDIR -mindepth 1 -maxdepth 1 -type d | sort -nr | head -1`
echo "LATEST_INCR=$LATEST_INCR"
# If this is the first incremental, use the full as base. Otherwise, use the latest incremental as base.
if [ ! $LATEST_INCR ] ; then
INCRBASEDIR=$FULLBACKUPDIR/$LATEST_FULL
else
INCRBASEDIR=$LATEST_INCR
fi
echo "Running new incremental backup using $INCRBASEDIR as base."
innobackupex --defaults-file=$MYCNF $USEROPTIONS --incremental $TMPINCRDIR --incremental-basedir $INCRBASEDIR > $TMPFILE 2>&1
if [ -z "`tail -1 $TMPFILE | grep 'completed OK!'`" ] ; then
echo "$INNOBACKUPEX failed:"; echo
echo "---------- ERROR OUTPUT from $INNOBACKUPEX ----------"
exit 1
fi
# 這裡獲取這次備份的目錄
THISBACKUP=`awk -- "/Backup created in directory/ { split( \\\$0, p, \"'\" ) ; print p[2] }" $TMPFILE`
echo "THISBACKUP=$THISBACKUP"
echo
echo "Databases backed up successfully to: $THISBACKUP"
echo
echo "incremental completed: `date`"
exit 0
拿走改改路徑和備份命令直接用 別客氣~
相關推薦
xtrabackup全量,增量備份指令碼(拿走即用)
#!/bin/sh # add ling INNOBACKUPEX=innobackupex INNOBACKUPEXFULL=/usr/bin/$INNOBACKUPEX TODAY=`date +%Y%m%d%H%M` USEROPTIONS="--user=user --password=1234
Oracle Database 12c RMAN全量+增量備份+歸檔日誌恢復詳解
Oracle可以非常方便的把資料庫恢復到具體某個時間的狀態,而且還支援全備和多級增備,備份無需停止應用服務。比起DB2需要手動逐級恢復增量備份和歸檔日誌,RMAN是非常簡單好用的資料庫商業解決方案。下面是我的環境:作業系統:CentOS 6.7Oracle版本:Oracle
mysql 全量備份與增量備份指令碼
全量備份 [[email protected] scripts]# cat wqbk.sh #!/bin/bash #use mysqldump to fully backup mysql data BakDir=/mnt/sata02/backup/wq
MySQL自動化(全量+增量)備份指令碼
文章轉自:http://www.it-hack.cn/forum.php?mod=viewthread&tid=220&extra=page%3D1一、MySQL的日常備份方案:全備+增量備份:1、週日凌晨三點進行全備;2、週一到週日增量備份。不是往常的週日全備份,週一到週六增量備份,這樣如果
xtrabackup 增量,全量備資料庫指令碼
#!/bin/sh #xtrabackup備份指令碼 #獲取指令碼所存放目錄 cd `dirname $0` bash_path=`pwd` #指令碼名 me=$(basename $0) #定義變數 LOG=/var/log/mysql_backup.log
xtrabackup全量、增量備份恢復mysql數據庫
多少 prepare crypt seq shutdown info 備份恢復 NPU locked 一. 全量備份恢復: 查看原表內容: MariaDB [(none)]> select * from testdb.students; +----+-------
XtraBackup全量備份與恢復MySQL數據
備份 mysql xtrabackup 防偽碼:沒有相當程度的孤獨是不可能有內心的平和。1、概述Percona XtraBackup(簡稱PXB)是 Percona 公司開發的一個用於 MySQL 數據庫物理熱備的備份工具,支持 MySQl(Oracle)、Percona Server 和 Mar
Mysql備份系列(3)--innobackupex備份mysql大資料(全量+增量)操作記錄
在日常的linux運維工作中,大資料量備份與還原,始終是個難點。關於mysql的備份和恢復,比較傳統的是用mysqldump工具,今天這裡推薦另一個備份工具innobackupex。innobackupex和mysqldump都可以對mysql進行熱備份的,mys
lvm-snapshot備份mysql資料(全量+增量)
lvm-snapshot:基於LVM快照的備份 1.關於快照: 1)事務日誌跟資料檔案必須在同一個捲上; 2)剛剛創立的快照卷,裡面沒有任何資料,所有資料均來源於原卷 3)一旦原卷資料發生修改,修改的資料將複製到快照卷中,此時訪問資料一部分來自於快照卷,一部分來自於原卷 4)當快照使用過程中,如果修
Mysql備份(全量+增量+恢復)方案操作記錄
1、開啟mysql的binlog日誌&檢視$備份 2、shell指令碼 mysqldump 變數說明 --all-databases針對所有資料庫進行備份 --databases databasename 針對單個數據庫進行備份 --flush-logs為結束當前
mysqldump備份(全量+增量)方案操作記錄
在日常運維工作中,對mysql資料庫的備份是萬分重要的,以防在資料庫表丟失或損壞情況出現,可以及時恢復資料。 線上資料庫備份場景:每週日執行一次全量備份,然後每天下午1點執行MySQLdump增量備份. 下面對這種備份方案詳細說明下:1.MySQLdump增量備份配置
MySQL資料庫之全量+增量+二進位制日誌的備份與恢復
一、簡介資料的備份與恢復 1、為什麼備份? 災難恢復:人為錯誤、硬體故障(冗餘)、軟體故障(bug)、自然災害、黑客攻擊、誤操作、…; 測試; 2、備份時應該注意些什麼? 能容忍最多丟失多少資料; 恢復資料需要在多長時間內完成; 需要恢復哪些資料;
MySQL 系列連載之 XtraBackup 全量熱備 or 恢復實踐(2)
導讀 如果您在本文遇到任何問題或疑問請到QQ群中與我們交流。也可在下方進行評論。我將在第一時間和您進行交流,共同學習。 QQ群:201777608、526871767、1689067(加群時註明:運維派) 1、準備工作 #系統環境 [[email protected] tools]# c
阿里雲RDS(mysql)異機全量增量恢復
使用阿里雲的RDS服務(也就是MySQL資料庫)時,有時需要將其資料取出後拿到別的機器上使用,這就需要進行RDS的異機恢復。 說明:本文恢復使用的機器環境為CentOS 6.5 x64。 1. 獲取備份下載地址 RDS控制檯 -> 備份恢復 -> 資
阿里巴巴去Oracle資料遷移同步工具(全量+增量,目標支援MySQL/DRDS)
摘要: 阿里資料庫遷移專案yugong開源啦!yugong解決了單機Oracle無法滿足的擴充套件性問題,當時也掀起一股去IOE專案的浪潮,愚公這專案因此而誕生,其要解決的目標就是幫助使用者完成從Oracle資料遷移到MySQL上,完成去IOE的第一步。DBA的小夥伴們趕快來圍觀! 專案簡介 yugong(
xtrabackup 實現mysql增量備份和還原
啟動服務 test drop -a www. 實現 sse edi .com 下載xtrabackup工具包 percona-xtrabackup-24-2.4.13-1.el7.x86_64.rpm 工具包可以從官網下載https://www.percona.com/do
Hbase實用技巧:全量+增量資料的遷移方法
摘要:本文介紹了一種Hbase遷移的方法,可以在一些特定場景下運用。 背景 在Hbase使用過程中,使用的Hbase叢集經常會因為某些原因需要資料遷移。大多數情況下,可以跟使用者協商用離線的方式進行遷移,遷移離線資料的方式就比較容易了,將整個Hbase的data儲存目錄進行搬遷就行,但是當叢集資料量比較多的時
拿走即用的代碼
tr1 style none code turn encoding body 安全 src 環境:Python3.6.2 + win10 1.hashlib加密 # 安全哈希算法sha1返回的字符串 from hashlib import sha1, md5 impor
mySql資料庫一些非常規查詢,工作中可能會用到,備份一下以便即用即拿
這些東西純屬個人經驗,由於資歷尚淺,可能會做一些冗餘操作,歡迎指正。 1.有時候需要你去統計以下庫裡多張表的總記錄數。恰好這些表的名稱都比較類似(比如都以tb_開頭),這個時候我們可以先把所需要的表的查詢SQL全部連起來,然後再去查詢。 SELECT CONCAT(
mongodb增量或全量備份指令碼
mongodb備份指令碼,可以全量或增量進行備份,兩年前所寫,目前網上mongodb備份相關的指令碼也還是很少。 功能 定期對mongodb資料庫資料進行全量備份或增量備份(副本集架構),並可以壓縮上傳到阿里雲oss(本地會先生成壓縮包,可以設定不上傳oss)。 指令碼執行環境 使用python語言編寫,