We're using Subversion to manage files for all of our projects in the Teaching & Learning Centre. More projects means more Subversion repositories to backup. Instead of maintaining a list of projects and repositories, we stick all repositories in a common root directory, and I've just put together a dead simple script to automatically dump all of them to a directory of my choosing. I've added this script to the crontab for the www
user on the server, and it runs svndump
on all repositories, gzip
ping the output for archive (and possibly restore).
The output is stored in a specified backup directory, which is then picked up via rsync
from my desktop Mac, and copied to the external backup drive.
#!/bin/sh
SVN_REPOSITORIES_ROOT_DIR="/svn_repositories/"
BACKUP_DIRECTORY="/Users/Shared/backup/svn/"
for REPOSITORY in `ls -1 $SVN_REPOSITORIES_ROOT_DIR`
do
echo 'dumping repository: ' $REPOSITORY
/usr/local/bin/svnadmin dump $SVN_REPOSITORIES_ROOT_DIR$REPOSITORY | gzip > $BACKUP_DIRECTORY$REPOSITORY'.gz'
done