Procure pelo script svn-hot-backup. Ele deve ser fornecido com subversão e contém toda a lógica para fazer o que você deseja, além da execução automática de backups antigos. Escrevi o seguinte script wrapper que usa svn-hot-backup para executar como um cronjob noturno para fazer backup de um único servidor com vários repositórios, ligeiramente modificados para serem generalizados.
#!/bin/bash
#
# Dumps the svn repos to a file and backs it up
# to a local directory.
#Keeps the last 10 revisions
REPODIR="/var/repos"
BAKDIR="/data/backup/svn"
PROG="/usr/local/sbin/svn-hot-backup"
REPOLIST='repo1 repo2 repo3'
if [ ! -x "${PROG}" ]
then
echo "svnbak: Could not execute \'${PROG}\'"
exit 1
fi
for repo in ${REPOLIST}
do
# Dump the database to a backup file
echo "svnbak: Dumping subversion repository: ${repo}"
SVN_HOTBACKUP_NUM_BACKUPS=10 nice ${PROG} --archive-type=gz ${REPODIR}/${repo} ${BAKDIR}/${repo} &> /tmp/svnbak.$$
if [ "$?" -eq "1" ]
then
echo "svnbak: Hot backup on '${repo}' failed with message:"
/bin/cat /tmp/svnbak.$$
fi
/bin/rm /tmp/svnbak.$$
done
exit 0