标签:xtrabackup一键自动化备份脚本 v2 版【原创】
备份文件路径 backdir=/ASSET.innobackupex mysql用来备份用户 user=用户名 mysql用户的密码 pass=密码 输出的信息保存路径 logfile=/var/www/html/index.html [root@nb0001 ~]# cat innobackupex.v2.sh #!/bin/bash backdir=/ASSET.innobackupex user=用户名 pass=密码 logfile=/var/www/html/files/index.html week=`date +%u` mkdir $backdir >> /dev/null 2>&1 if [ ! -f /globalback ] then cat /dev/null > $logfile innobackupex --user=$user -password=$pass $backdir stat=`echo $?` ls $backdir | tail -n 1 > /globalback basedir=`cat /globalback` last=`ls $backdir | tail -n 1` echo "<br><br>" date >> $logfile if [ $stat -ne 0 ] then echo "备份失败!" >> $logfile exit fi echo "<br> 检测到之前没有做过全局备份,完全备份一次!<br>" >> $logfile echo -n "本次全局备份使用的二进制日志文件,截止位置信息:" >> $logfile cat $backdir/$basedir/xtrabackup_binlog_info >> $logfile echo -n "<br> 二进制日志文件路径" >> $logfile grep "^log-bin" /etc/my.cnf >> $logfile echo "<br>本次数据库备份文件份的lsn信息如下:<br>开始位置:" >> $logfile grep from_lsn $backdir/$last/xtrabackup_checkpoints >> $logfile echo "<br>结束位置: " >> $logfile grep to_lsn $backdir/$last/xtrabackup_checkpoints >> $logfile echo "<br> 备份文件的大小、路径" >> $logfile du -sh $backdir/$last/ >> $logfile echo "<br>" >> $logfile exit fi if [ $week -eq 5 ] then innobackupex --user=$user -password=$pass $backdir stat=`echo $?` incre=`ls $backdir | tail -n 1` if [ $stat -ne 0 ] then echo "<br><br>" >> $logfile date >> $logfile echo "<br>备份失败!" >> $logfile exit fi ls $backdir | tail -n 1 > /globalback basedir=`cat /globalback` echo "<br><br>↓↓↓↓↓↓↓↓↓↓↓ 全局备份分割线 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓<br><br>" >> $logfile date >> $logfile echo "<br>全局备份<br>" >> $logfile echo "数据备份的位置 $backdir/$basedir <br>" >> $logfile echo -n "本次全局备份使用的二进制日志文件,截止位置信息:" >> $logfile cat $backdir/$basedir/xtrabackup_binlog_info >> $logfile echo -n "<br> 二进制日志文件路径" >> $logfile grep "^log-bin" /etc/my.cnf >> $logfile echo "<br>本次数据库备份文件份的lsn信息如下:<br>开始位置:" >> $logfile grep from_lsn $backdir/$basedir/xtrabackup_checkpoints >> $logfile echo "<br>结束位置: " >> $logfile grep to_lsn $backdir/$basedir/xtrabackup_checkpoints >> $logfile echo "<br> 备份文件的大小、路径" >> $logfile du -sh $backdir/$basedir >> $logfile echo "<br>" >> $logfile else basedir=`cat /globalback` last=`ls $backdir | tail -n 1` innobackupex --user=$user -password=$pass --incremental $backdir --incremental-basedir=$backdir/$last stat=`echo $?` incre=`ls $backdir | tail -n 1` echo "<br><br>" >> $logfile date >> $logfile if [ $stat -ne 0 ] then echo "备份失败!" >> $logfile exit fi echo "<br>增量备份 <br>" >> $logfile echo "基 本库是 $backdir$basedir <br>" >> $logfile echo "上次备份是 $backdir$last <br>" >> $logfile echo "本次备份是 $backdir$incre <br>" >> $logfile echo -n "上次全局备份使用的二进制日志文件,截止位置信息:" >> $logfile cat $backdir/$basedir/xtrabackup_binlog_info >> $logfile echo -n "<br> 本次增量备份使用的二进制日志文件,截止位置信息:" >> $logfile cat $backdir/$incre/xtrabackup_binlog_info >> $logfile echo -n "<br>二进制日志文件路径" >> $logfile grep "^log-bin" /etc/my.cnf >> $logfile echo "<br>本次增量数据库备份文件份的lsn信息如下:<br>开始位置:" >> $logfile grep from_lsn $backdir/$incre/xtrabackup_checkpoints >> $logfile echo "<br>结束位置: " >> $logfile grep to_lsn $backdir/$incre/xtrabackup_checkpoints >> $logfile echo "<br> 增量备份文件的大小、路径" >> $logfile du -sh $backdir/$incre >> $logfile echo "<br>" >> $logfile fi
标签:xtrabackup一键自动化备份脚本 v2 版【原创】
原文地址:http://990487026.blog.51cto.com/10133282/1698228