天天看點

mysql增量備份代碼

  1. #!/bin/sh   
  2. #   
  3. # mysql binlog backup script   
  4. #   
  5. /usr/bin/mysqladmin flush-logs   
  6. DATADIR=/data0/mysql/3306/binlog   
  7. BAKDIR=/tmp/mysqlbackup  
  8. cd $DATADIR   
  9. FILELIST=`cat binlog.index`   
  10. ##計算行數,也就是檔案數   
  11. COUNTER=0   
  12. for file in $FILELIST   
  13. do   
  14. COUNTER=`expr $COUNTER + 1 `   
  15. done   
  16. NextNum=0   
  17. for file in  $FILELIST   
  18. do   
  19. base=`basename $file`   
  20. NextNum=`expr $NextNum + 1`   
  21. if [ $NextNum -eq $COUNTER ]   
  22. then   
  23. echo "skip lastest"   
  24. else   
  25. dest=$BAKDIR/$base   
  26. if(test -e $dest)   
  27. then   
  28. echo "skip exist $base"   
  29. else   
  30. echo "copying $base"   
  31. cp $base $BAKDIR   
  32. fi   
  33. fi   
  34. done   
  35. echo "backup mysql binlog ok"