xtrabackup备份脚本
#!/bin/bash BAKDIR=/mysql/backup/backup-db XTRABACKUPDIR=/mysql/app/xtrabackup/bin/xtrabackup BAKFILEPRE=xtrfullbackup BAKFILE=$BAKDIR/$BAKFILEPRE-`date +%Y%m%d` LOGFILE=$BAKDIR/$BAKFILEPRE-`date +%Y%m%d`.log BAKDIR1=$BAKDIR/$BAKFILEPRE BAKDIR2=$BAKFILE REMOTE_HOST=192.168.1.51 REMOTE_BAKDIR=/mysql/backup/backup-db MYCNF=/etc/my.cnf BAKMYCNF=$BAKDIR/my-`date +%Y%m%d`.cnf USER=backup PWD=backup PARALLEL=2 #innobackupex --defaults-file=$MYCNF --user=$USER --password=$PWD --stream=tar $BAKDIR 2> $LOGFILE |ssh $REMOTE_HOST "gzip ->$REMOTE_BAKDIR/$BAKFILE.tar.gz" $XTRABACKUPDIR --defaults-file=$MYCNF --user=$USER --password=$PWD --backup --parallel=$PARALLEL --stream=tar --target-dir=$BAKDIR1 1> $BAKDIR2.tar 2> $LOGFILE gzip -c $BAKDIR2.tar > $BAKDIR2.tar.gz cp $MYCNF $BAKMYCNF # check backup log CHECKOK=`tail -1 $LOGFILE | grep "completed OK\!" | wc -l` if [ $CHECKOK -ne 1 ] then echo "[ WARNING ] Backup failed!" exit fi #ssh $REMOTE_HOST "find $REMOTE_BAKDIR/$BAKFILEPRE* -mtime +14 -type f -maxdepth 1 | xargs rm -rf {}" find $BAKDIR -mtime +1 -name "$BAKFILEPRE*.tar" -exec rm -f {} \; find $BAKDIR -mtime +15 -name "$BAKFILEPRE*.gz" -exec rm -f {} \; find $BAKDIR -mtime +15 -name "$BAKFILEPRE*.log" -exec rm -f {} \; find $BAKDIR -mtime +3 -name "my-*.cnf" -exec rm -f {} \;