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.