On 7/24/2013 2:59 PM, Andy Levy wrote:
I'm planning my upgrade to SVN 1.8 & to go along with it, setting up a
new backup process. Here's what I'm thinking:
* Monday overnight, take a full backup (svnadmin hotcopy, then
compress the result for storage)
* Tuesday through Sunday overnights, incremental backups (svnadmin
dump --incremental, compress the result)
* After completing the Monday night full backup, purge the previous
week's incrementals.
* After completing the Monday night full backup, run svnadmin pack
* Keep the last 6 full backups on local disk (these will be kept
written to the corporate backup system, so we can go back further if
needed).
We simply do "svnadmin hotcopy" each night, then rdiff-backup that to
another server over the network. The rdiff-backups keep 6 months of
revisions to the hotcopy folders. Our /var/svn is 122GB (as is the
hotcopy location), the rdiff-backup is 173GB. Using rdiff-backup means
that I can go back to any point in time in the last 6 months for a
particular repository (plus we have hashes/checksums of all files).
For offsite purposes, we backup the rdiff-backup directory instead of
the hotcopy directory.
What we might do once 1.8 server is stable is switch to doing the new
"incremental" style hotcopy on Mon-Sat evenings and do a full hotcopy on
Sun. Right now, we address the time it takes to do full hotcopy of all
300+ repositories by only doing a nightly hotcopy of any repositories
that have changes within the last N days (usually 7 days, and usually a
only a few dozen repositories see activity each week). Doing the
hotcopy to a different set of platters also helps.
This is based on the assumption that "svnadmin hotcopy" is a preferred
backup method over "svnadmin dump" for daily backups, because it grabs
everything out of the repository directory while "svnadmin dump" misses
things like scripts.