NAME
svn-backup-dumps - Create dumpfiles to backup a subversion repository.
SYNOPSIS
svn-backup-dumps <repos> <dumpdir>
DESCRIPTION
svn-backup-dumps creates dumpfiles from a subversion repository. It is
intended for use in cron jobs and post-commit hooks.
The basic modes of operation are:
· Create a full dump (revisions 0 to HEAD)
· Create incremental dump containing at most N revisions.
· Create incremental single-revision dumps (for use in post-
commit).
Dumpfiles are named in the format basename.rev.svndmp or
basename.rev.rev.svndmp, where basename is the repository directory
name, and the rev arguments are the first and last revision numbers
represented in the dumpfile, zero-padded to 6 digits.
Optionally, svn-backup-dumps can compress dumpfiles with gzip or bzip2,
and can transfer them to another host using FTP or SMB (using
smbclient).
OPTIONS
--version
Show program’s version number and exit.
-h, --help
Show this help message and exit.
-b Compress the dump using bzip2.
--deltas
This is passed through to svnadmin dump.
-c count
Maximum number of revisions per dumpfile.
-o Overwrite files.
-O Overwrite all files.
-q Quiet.
-r rev Specify a single-revision dumpfile.
-t ftp:host:user:password:path
-t smb:share:user:password:path
Transfer dumps to another machine using the FTP or SMB
protocols. path is where to store the dumpfiles on the remote
server; any occurrence of %r in the path is replaced by the
repository name. Support for "smb:" requires the smbclient
program.
-z Compress the dump using gzip.
EXAMPLES
To create a full dump of all revisions of a repository /srv/svn/foo in
the directory /var/backup/svn:
svn-backup-dumps /srv/svn/foo /var/backup/svn
The dumpfile will be named src.000000-NNNNNN.svndmp.gz where NNNNNN is
the head revision number.
To create incremental dumps containing at most 1000 revisions:
svn-backup-dumps --deltas -z -c 1000 /srv/svn/foo /var/backup/svn
If the youngest revision is 2923, it creates the following files:
foo.000000-000999.svndmp.gz
foo.001000-001999.svndmp.gz
foo.002000-002923.svndmp.gz
If run again, later, when the youngest revision is 3045, it creates
these two files:
foo.002000-002999.svndmp.gz
foo.003000-003045.svndmp.gz
Note that it does not remove the redundant file
foo.002000-002923.svndmp.gz.
To create incremental single-revision dumps from a post-commit hook:
svn-backup-dumps -r $rev $repos /var/backups/svn
where $rev and $repos are variables previously set in the post-commit
script from its command line. The dumpfile name will be in the form
foo.000352.svndmp.
To send the dumpfiles to the SMB share \\ERNEST\BACKUPS in a directory
\svn\foo with user svnuser and password w0rth1ng:
svn-backup-dumps -t
"smb://ERNEST/BACKUPS:svnuser:w0rth1ng:svn/%r /srv/svn/foo
/tmp/tmpbackup
Note that the %r in the path is replaced by the repository name foo.
Note also that a local backup directory is required, at present, even
when using the -t option.
AUTHOR
Voluntary contributions made by many individuals. Copyright © 2006
CollabNet.
2006-11-09 svn-backup-dumps(1)