Se você quiser fazer isso sozinho, consulte os comandos "svnlook youngest" e "svnadmin dump --incremental -r $ {STARTREV}: $ {ENDREV}".
Eu colei abaixo os scripts que utilizo para fazer dumps completos e incrementais de meus repositórios SVN, eles armazenam a revisão e a data do último backup em subdiretórios de / home / svn / var. Faça um dump completo primeiro, depois quantos dumps incrementais desejar.
Script completo de despejo do SVN:
#!/bin/sh
# Full dump of all subversion repositories
# make sure to get the subversion environment variables
. /etc/profile.d/subversion.sh
# path to subversion binaries
SVN_BINPATH=${SVN_HOME}/bin
# path to parent of all repositories to be dumped
SVN_REPPATH=/opt/svn/repositories
# destination directory for backup files
DUMP_DIR=/backup/svn
# status directory
SVN_VAR=/home/svn/var
DATETIME='date +%Y%m%d'
for rep in ${SVN_REPPATH}/*;
do
TSTAMP='date +%s'
CURR_REV='${SVN_BINPATH}/svnlook youngest ${rep}'
REP_BASE='basename $rep'
echo "**********************************************************"
echo "'date --rfc-2822' - Full back up - ${rep} : "
echo " current revision ${CURR_REV}"
echo
DUMPFILE=${DUMP_DIR}/${REP_BASE}-${DATETIME}.dmp
${SVN_BINPATH}/svnadmin --quiet dump $rep > ${DUMPFILE}
echo ${TSTAMP} > ${SVN_VAR}/status/dates/${REP_BASE}.dt
echo ${CURR_REV} > ${SVN_VAR}/status/revisions/${REP_BASE}.rev
bzip2 --compress --best ${DUMPFILE}
done
echo
echo 'ls -hl ${DUMP_DIR}/*.bz2'
Script de despejo SVN incremental:
#!/bin/sh
# Incremental dump of all subversion repositories
# make sure to get the subversion environment variables
. /etc/profile.d/subversion.sh
# path to subversion binaries
SVN_BINPATH=${SVN_HOME}/bin
# path to parent of all repositories to be dumped
SVN_REPPATH=/opt/svn/repositories
# destination directory for backup files
DUMP_DIR=/backup/svn
# status directory
SVN_VAR=/home/svn/var
DATETIME='date +%Y%m%d'
for rep in ${SVN_REPPATH}/*;
do
TSTAMP='date +%s'
CURR_REV='${SVN_BINPATH}/svnlook youngest ${rep}'
REP_BASE='basename $rep'
if [ -e ${SVN_VAR}/status/dates/${REP_BASE}.dt ] ; then
REP_LAST_BK_TSTAMP='cat ${SVN_VAR}/status/dates/${REP_BASE}.dt'
REP_LAST_BK_REV='cat ${SVN_VAR}/status/revisions/${REP_BASE}.rev'
else
REP_LAST_BK_TSTAMP=0
REP_LAST_BK_REV=0
fi
if [ ${CURR_REV} -gt ${REP_LAST_BK_REV} ] ; then
echo "**********************************************************"
echo "'date --rfc-2822' - Incremental back up ${rep} : "
echo " oldest revision ${REP_LAST_BK_REV} - newest revision ${CURR_REV}"
echo
DUMPFILE=${DUMP_DIR}/${REP_BASE}-${DATETIME}-${REP_LAST_BK_REV}-${CURR_REV}.dmp
${SVN_BINPATH}/svnadmin --quiet dump $rep --incremental -r${REP_LAST_BK_REV}:${CURR_REV}> ${DUMPFILE}
echo ${TSTAMP} > ${SVN_VAR}/status/dates/${REP_BASE}.dt
echo ${CURR_REV} > ${SVN_VAR}/status/revisions/${REP_BASE}.rev
bzip2 --compress --best ${DUMPFILE}
fi
done
echo
echo 'ls -hl ${DUMP_DIR}/*.bz2'
Espero que isso ajude.