BURP - BackUp and Restore Program
index why faq howto wiki download contact



Burp is a network backup and restore program. It uses librsync in order to save network traffic and to save on the amount of space that is used by each backup. It also uses VSS (Volume Shadow Copy Service) to make snapshots when backing up Windows computers.

It is open source free software (where 'free' means both that you do not have to pay for it, and that you have freedom to do what you want with it) released under the AGPLv3 licence. See the FAQ for more information.

Finally, as with the vast majority of open software, Burp comes with absolutely no warranty. You are responsible for testing it and ensuring that it works for you. Please see the FAQ page for more information on this.

The main author of Burp is Graham Keeling.

Stable candidate: 1.4.12

Current stable version: 1.3.48

Old stable: 1.3.10



Burp 2

An additional experimental version of Burp, which I have labelled 'Burp 2' is now available.
The intention is that Burp 1 clients will continue to work with Burp 2 servers.
Burp 2 clients can also be configured to work in Burp 1 mode. See the 'protocol' option in the man page and example config files.
Burp 2 code is capable of doing variable length chunking for inline deduplication, with sparse indexing on the server side. For more details on the ideas and development, you may read the report that I wrote for my degree.

Use Burp 2 with extreme caution.
It is currently missing some features, such as acl/xattr, Windows EFS, encryption and compression support.
The Burp 1 protocol should still work with these features, but be careful.
The status monitor is also not working.
Due to the extent of the rewrite involved, pretty much anything may not working correctly.
Do not expect Burp 2, and the backups that it makes, to be compatible with future releases of Burp 2.


NEWS

2014-04-09: OpenSSL Heartbleed bug
It is being widely reported that some recent versions of openssl have a serious bug. If your computers (especially your servers) are using a version of openssl between 1.0.1 and 1.0.1f, you should upgrade them to openssl 1.0.1g as soon as possible. Since this openssl bug has been around for 2 years, you should probably consider your certificates to be compromised.

Burp windows clients were using openssl 1.0.1e. I understand that it is a possibility that a malicious server could steal client information.
I have therefore updated the Windows burp-depkgs with openssl-1.0.1g and built updated Windows installers for burp-1.3.48 and burp-1.4.12. These installers can be found via the downloads page.

2014-03-29:
Many thanks to the following donors for financially supporting burp during March:

  * £10.00 Thomas O.
  * € 0.45 Flattr

2014-03-29: burp-2.0.4 is released.

  * First release of burp-2. Use with extreme caution.

2014-03-29: burp-1.4.12 is released.

Changes in burp-1.4.12:
  * Make 'make test' skip tests if no source of randomness seems to exist
    for openssl to use.
  * Bug fix for restoring correct file times on Windows clients.
  * Bug fix for false failure notification - differentiate between
    not getting a lock and getting an error when trying to get a lock.
  * Turn off excessive logging on some restores.
  * Debian packaging changes.
  * Rename configure.in to configure.ac to avoid Debian build warnings.
  * Make test script check for lock file instead of working/finishing symlinks
    when checking whether an operation has finished yet.
  * Fix encryption casting problem on 64 bit big endian platforms (eg, s390x,
    ppc64, sparc64).

2014-03-01:
burp-1.3.48 is now the stable version.
burp-1.3.10 is now the old stable version.
burp-1.4.10 is the latest version.

2014-03-01:
Nobody financially supported burp during February, but thank you to 6sync for continuing to provide web hosting.
Additionally, for anybody that would like to support the project through Flattr, there is now a button at the bottom of the burp website.

2014-01-27: burp-1.3.48 is released.

Changes in burp-1.3.48:
  * Bug fix for restoring correct file times on Windows clients.

2014-01-27:
Many thanks to the following donors for financially supporting burp during January:

  *  £15.00 Calogero L.

2013-12-30: burp-1.3.46 is released.

Changes in burp-1.3.46:
  * Another bug fix for false failure notification - differentiate between
    not getting a lock and getting an error when trying to get a lock.
  * Turn off excessive logging on some restores.

2013-12-30:
Nobody financially supported burp during December, but thank you to 6sync for continuing to provide web hosting.

2013-12-01: burp-1.4.10 and burp-1.3.44 are released.
1.4.10 is for new features. 1.3.44 is the candidate for a stable version, to which only bug fixes will be added.

Changes in burp-1.4.10 and burp-1.3.44:
  * Bug fix for false failure notification when a client tries to connect again
    while a backup is still in progress.

2013-11-29:
Many thanks to the following donors for financially supporting burp during October and November:

  * €100.00 Saint G.
  *  £10.00 Florian W.
  *  £15.00 Nigel R.

2013-11-29: burp-1.4.8 and burp-1.3.42 are released.
1.4.8 is for new features. 1.3.42 is the candidate for a stable version, to which only bug fixes will be added.

Changes in burp-1.4.8:
  * Be sure to close directory file descriptor if fdopendir() fails.
  * Extend the JSON list functionality so that covers all types of listing.
  * Allow the backup to carry on if a filename was too long for the server.
  * Regenerate server certificates if the CA directory exists and is empty.
  * Add machine-readable statistics files for restores and verifies in the
    backup directories.
  * Bug fix for server not exiting after one connection with '-n'.
  * Add 'manual_delete=' option. This makes the server move
    directories to be deleted to the specified directory, with the intention
    that they will be deleted manually (perhaps by a cron job) later.

Changes in burp-1.3.42:
  * In backup phase 4, a 'deleteme' directory may already exist if the server
    was previously interrupted whilst deleting it. If so, delete it before
    attempting to rename anything to it.

2013-10-30: burp-1.4.6 and burp-1.3.40 are released.
1.4.6 is for new features. 1.3.40 is the candidate for a stable version, to which only bug fixes will be added.

Changes in burp-1.4.6
  * Add client option '-a T', which checks whether it is yet time for a backup
    without actually doing a backup.
  * Make the server request the whole file when ctime changes on Windows,
    otherwise changes to metadata when the file content is unchanged will not
    be noticed.
  * Add 'delete' to the client help output.
  * Bug fix for the include_glob code being run on the server side.
  * Bug fix for in the include_glob code not initialising the glob_t struct
    correctly.
  * Get 'include_glob=' in the clientconfdir server side file to work without
    also needing an 'include='.
  * When backing up, open files and directories with O_NOATIME flag so that the
    access time is not changed.
  * Bug fix for no failure notification being sent when the backup directory
    cannot be created.

Changes in burp-1.3.40:
  * Make the server request the whole file when ctime changes on Windows,
    otherwise changes to metadata when the file content is unchanged will not
    be noticed.
  * Add 'delete' to the client help output.
  * When backing up, open files and directories with O_NOATIME flag so that the
    access time is not changed.
  * Bug fix for no failure notification being sent when the backup directory
    cannot be created.

2013-10-02:
Many thanks to the following donors for financially supporting burp during September:

  *  £43.00 Sebastien C.

2013-10-02: burp-1.4.4 and burp-1.3.38 are released.
1.4.4 is for new features. 1.3.38 is the candidate for a stable version, to which only bug fixes will be added.

Changes in burp-1.4.4
  * Bug fix for include_glob xmalloc success check on Windows.
  * Fix long list and status monitor output when a directory argument is given.
  * Fix restore problem with backups containing both compressed and
    uncompressed files.
  * Bug fix for an interrupted backup causing a resume when a restore_client
    connects.
  * Bug fix for defaulting 'resume partial' to off.

Changes in burp-1.3.38:
  * Fix long list and status monitor output when a directory argument is given.
  * Fix restore problem with backups containing both compressed and
    uncompressed files.
  * Bug fix for an interrupted backup causing a resume when a restore_client
    connects.
  * Bug fix for defaulting 'resume partial' to off.

2013-09-02:
Many thanks to the following donors for financially supporting burp during August:

  *  £43.00 Sebastien C.

2013-09-02: burp-1.4.2 is released.

Changes in burp-1.4.2:
  * Add a machine-readable statistics file to each backup directory.

2013-07-29:
Many thanks to the following donors for financially supporting burp during July:

  *  £10.00 Jean L.

2013-07-29: burp-1.4.0 and burp-1.3.36 are released.
1.4.0 is for new features. 1.3.36 is the candidate for a stable version, to which only bug fixes will be added.

Changes in burp-1.4.0
  * Add Abbas Khan's RHEL spec files and related things.
  * Add Benjamin Sans's include_glob feature.

Changes in burp-1.3.36:
  * Fix truncation of timestamps in the live status monitor.
  * Default the 'resume partial' feature to being off, and add an option to
    turn it on.
  * Upgraded Windows cross tools to:
        + binutils-2.23.1
        + gcc-4.7.3
        + gmp-5.1.2
        + mingw-w64-v2.0.8
        + mpc-1.0.1
        + mpfr-3.1.2
  * Upgraded Windows depkgs to:
        + openssl-1.0.1e
        + zlib-1.2.8
        + pcre-8.33

2013-06-29:
Many thanks to the following donors for financially supporting burp during June:

  *  £25.00 Louwris W.
  *  £20.00 Morgan S.

2013-06-29: burp-1.3.34 is released.

Changes in burp-1.3.34:
  * Contributions from Avi Rozen:
        + Major autoconf cleanup.
        + Initial support for cross-building android targets.
  * On the server, indicate where logging is occurring.
  * Fix bedup segfault when using -m with no argument.

2013-05-31:
Many thanks to the following donors for financially supporting burp during May:

  *  £30.00 Sebastian A.

2013-05-31: burp-1.3.32 is released.

Changes in burp-1.3.32:
  * Fix status monitor segfault.
  * Run timed backups with lower thread priority on Windows.
  * Add 'vss_drives' option, which gives the ability to specify which Windows
    drives get a VSS snapshot.

2013-05-02:
Many thanks to the following donors for financially supporting burp during April:

  *  £25.00 Eduardo R.
Donations by bitcoin are now being accepted at: 1PFtePS2YE5i5dTX17ozJPHrjKu2UqBLmi

2013-03-30: burp-1.3.30 is released.

Changes in burp-1.3.30:
  * Add a warning when run on Windows without admin privileges.
  * Perform fewer lstat()s on systems that support d_type (ie most Linux
    systems), in order to speed up certain operations.
  * Allow _FORTIFY_SOURCE to work.
  * Fix problem with burp_ca.bat and repeated field names in burp.conf.
  * Put registry keys back in the Windows installer.
  * Fix for SIGHUP reload causing the server to go into non-forking mode.
  * Indicate the backups that are deletable.
  * Add a client option for deleting deletable backups.
  * Add a 'client_can_delete' option on the server.
  * Fix for using the wrong lock directory when 'directory' is overridden for
    a client.

2013-03-30:
Many thanks to the following donors for financially supporting burp during March:

  *  £30.00 Haim G.
  *   £0.01 Romain M.

2013-03-30: burp-1.3.28 is released.

Changes in burp-1.3.28:
  * Add the ability to resume partially transferred files.
  * Make sure 'timer conditions not met' message appears on the client.
  * Bug fix for turning off compression before resuming a backup.

2013-03-05:
Many thanks to the following donors for financially supporting burp during February:

  *  £25.00 Christian B.
  *  £20.00 Yeongjin C.

2013-03-05: burp-1.3.26 is released.

Changes in burp-1.3.26:
  * When a read_blockdev option matches a symlink, backup the destination as
    a raw block device.
  * Avi Rozen's valgrind cleanup. Includes a fix for a bug in restore_client.c
    where overwrite_ok checked the wrong stat struct when considering a FIFO.
  * Add '-v' option to bedup (output the names of duplicate files).
  * Add '-d' option to bedup (delete duplicates instead of hardlinking - not
    for use on burp storage directories).

Older news


Burp is open and free software. I work on it in my spare time. If you would like this work to continue, please consider making a small donation.

bitcoin:1PFtePS2YE5i5dTX17ozJPHrjKu2UqBLmi


Burp, don't suck. Last updated: April 2014
Hosted by 6sync