特定の日付より新しいSVNリポジトリをバックアップするのリビジョン番号付きバージョン。
-
svnlook youngest REPOS_PATH
でリビジョン番号が取れる。 -
repos.123.svn.dump.gz
とかいうファイル名でダンプする。 - 既に同名かつ同リビジョンのダンプがあれば何もしない。
backup_svn.sh
ACCOUNTS=`ls -1 /srv/svn/`
for ACCOUNT in $ACCOUNTS; do
SRC=/srv/svn/$ACCOUNT
REV=`svnlook youngest $SRC`
DST=/var/backups/svn/$ACCOUNT.$REV.svn.dump.gz
if [ ! -e $DST ]; then
time svnadmin dump $SRC 2> backup_svn.log | gzip > $DST
echo "backup svn from $SRC to $DST r$REV: `ls -hs $DST`"
fi
done