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.