#!/bin/bash # # $Id: repodiff 3 2006-09-21 18:48:39Z sevkin $ # # subversion repository incremental backup over e-mail # # (c) 2006 Vsevolod Balashov under terms of GNU GPL v.2 or later SVNROOT=/var/svn EMAIL=your@email.here STORE=`mktemp -d` GPGCRYPT=n for REPO in `ls $SVNROOT`; do REPOPATH=$SVNROOT/$REPO; if [ -r $REPOPATH/youngest ]; then LATEST=`cat $REPOPATH/youngest` YOUNGEST=`svnlook youngest $REPOPATH` if [ $LATEST -lt $YOUNGEST ]; then svnadmin dump $REPOPATH --incremental -r $LATEST:$YOUNGEST >$STORE/$REPO 2>/dev/null fi else svnadmin dump $REPOPATH --incremental >$STORE/$REPO 2>/dev/null fi echo $YOUNGEST >$REPOPATH/youngest done if [ `ls $STORE | wc -w` -gt 0 ]; then BACKUP=repodiff_`date -u +%Y%m%d%H%M%S`.tar.bz2 ATTACH=$STORE/../$BACKUP tar -C $STORE -cjf $ATTACH . if [ $GPGCRYPT = y ]; then gpg -e -r $EMAIL $ATTACH ATTACH=$ATTACH.gpg fi echo "." | mutt -c $EMAIL -a $ATTACH -s "repository incremental backup" rm -f $ATTACH fi rm -rf $STORE
You need to create an account or log in to post comments to this site.