Xtrabackup remote stream backup script
1. xbstream stream, local folder can be created by itself, remote folder must exist
innobackupex --host=127.0.0.1 --post=3306 --stream=xbstream --compress /root/backup/ | ssh root@192.168.56.15 "xbstream -x -C /tmp/"
2. xbstream stream, the peer machine needs to decompress and clean up the compressed file
192.168.56.15xtrabackup --decompress --target-dir=/tmp/find /tmp/ -name "*.qp" |xargs rm -f
3. Xbstream stream peer needs to install software
3.1 xtrabackup
3.2 qpress-11-linux-x64.tar
4, script, Monday is fully prepared, the rest are additional
[root@es1 chkpoint]# cat backup.sh#!/ bin/bashLOCALDIR=/data/backupCHECKPIONTDIR=$LOCALDIR/chkpointREMOTEDIR=/tmp/WEEKDAY=`date +%u`INTERVARNUM=`expr $WEEKDAY - 1`TISHWEEKFULL=`date -d "$INTERVARNUM day ago" +%F`TODAY=`date +%F`ssh root@192.168.56.19 "mkdir -p /$REMOTEDIR/$TISHWEEKFULL"ssh root@192.168.56.19 "mkdir -p /$REMOTEDIR/$TISHWEEKFULL/$TODAY"if [ ! -f $CHECKPIONTDIR/xtrabackup_checkpoints ] ;thenecho "No lsn info, start a full backup"innobackupex --host=127.0.0.1 --history --post=3306 --stream=xbstream --compress --extra-lsndir=$CHECKPIONTDIR $LOCALDIR |ssh root@192.168.56.19 "xbstream -x -C /$REMOTEDIR/$TISHWEEKFULL/"exit 1ficase $WEEKDAY in#determine the value of variable WEEKDAY "1") innobackupex --host=127.0.0.1 --history --post=3306 --stream=xbstream --compress --extra-lsndir=$CHECKPIONTDIR $LOCALDIR |ssh root@192.168.56.19 "xbstream -x -C /$REMOTEDIR/$TISHWEEKFULL/" ;; "2") innobackupex --host=127.0.0.1 --post=3306 --stream=xbstream --history --incremental --extra-lsndir=$CHECKPIONTDIR --incremental-basedir=$CHECKPIONTDIR --compress $LOCALDIR | ssh root@192.168.56.19 "xbstream -x -C /$REMOTEDIR/$TISHWEEKFULL/$TODAY" ;; "3") innobackupex --host=127.0.0.1 --post=3306 --stream=xbstream --history --incremental --extra-lsndir=$CHECKPIONTDIR --incremental-basedir=$CHECKPIONTDIR --compress $LOCALDIR | ssh root@192.168.56.19 "xbstream -x -C /$REMOTEDIR/$TISHWEEKFULL/$TODAY" ;; "4") innobackupex --host=127.0.0.1 --post=3306 --stream=xbstream --history --incremental --extra-lsndir=$CHECKPIONTDIR --incremental-basedir=$CHECKPIONTDIR --compress $LOCALDIR | ssh root@192.168.56.19 "xbstream -x -C /$REMOTEDIR/$TISHWEEKFULL/$TODAY" ;; "5") innobackupex --host=127.0.0.1 --post=3306 --stream=xbstream --history --incremental --extra-lsndir=$CHECKPIONTDIR --incremental-basedir=$CHECKPIONTDIR --compress $LOCALDIR | ssh root@192.168.56.19 "xbstream -x -C /$REMOTEDIR/$TISHWEEKFULL/$TODAY" ;; "3") innobackupex --host=127.0.0.1 --post=3306 --stream=xbstream --history --incremental --extra-lsndir=$CHECKPIONTDIR --incremental-basedir=$CHECKPIONTDIR --compress $LOCALDIR | ssh root@192.168.56.19 "xbstream -x -C /$REMOTEDIR/$TISHWEEKFULL/$TODAY" ;; "4") innobackupex --host=127.0.0.1 --post=3306 --stream=xbstream --history --incremental --extra-lsndir=$CHECKPIONTDIR --incremental-basedir=$CHECKPIONTDIR --compress $LOCALDIR | ssh root@192.168.56.19 "xbstream -x -C /$REMOTEDIR/$TISHWEEKFULL/$TODAY" ;;esac
5. tar does not support backup at present. Attention is needed for compression and decompression. tar-xizvf *.tar.gz is required.