---
name: "svn-backup-dumps"
section: "1"
platform: "linux"
package: "subversion-tools"
version: "1.14.5-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/svn-backup-dumps"
---

# svn-backup-dumps(1)

Create dumpfiles to backup a subversion repository.

## 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.
