BURP - BackUp and Restore Program
index why faq howto 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.


Current stable version: 1.3.0

Old stable version: 1.2.2


NEWS

2012-04-27:
Many thanks to the following donors for financially supporting burp during April:

  * £10.00 Calogero L.
  * Server hosting from 6sync.com

2012-04-27: burp-1.3.4 is released.

Changes in burp-1.3.4:
  * Bug fix for Windows backups where it had stopped using the Windows backup
    API in 1.3.2.
  * Automatically convert backslashes to forward slashes for includes/excludes
    on Windows clients.
  * Bug fix: pass the path to the CA conf file whenever running burp_ca (fixes
    problems with the test scripts).
  * Remove whitespace that was causing the burp_ca '--crl' option not to work.
  * Have separate CA directories for the client and server. Make 'make install'
    create the directory /etc/burp/CA-client.
  * Make compile succeed when there is no libncurses library.
  * Add 'client_can_force_backup' option, defaulted to on. Turning it off means
    that only timed backups are allowed. Also add similar 'client_can_list',
    'client_can_restore' and 'client_can_verify' options.
  * Remove getopt from burp_ca, allowing it to work on Macs.
  * Make an unknown exclude_fs a non-fatal error.
  * Add ability to trigger a backup on the server side by placing a file called
    'backup' in the client's storage directory.
  * Fix bug where block device nodes were not backed up. Add 'read_blockdev'
    and 'read_all_blockdevs' options that work the same as the equivalent
    fifo options.
  * Add 'notify_success_changes_only' option, which means that success
    notifications only get sent if there were new or changed files.
  * Added Ruben Kerkhof's fixes to make run_script() work on OSX.
  * For each file, store the compression setting in the manifest.
  * Stop clients connecting twice when a timed backup is rejected.

2012-03-31:
Many thanks to the following donors for financially supporting burp during March:

  * £5.00 Ɓukasz P.

2012-03-31: burp-1.3.2 is released.

Changes in burp-1.3.2:
  * Add options for the client to automatically generate a certificate signing
    request, have the server sign and return it, and have the client use the
    new certificate. Remove old default SSL certificates because they should
    no longer be needed.
    See docs/burp_ca.txt for more information.
  * Add ability for conf files to point to more conf files to read.
  * Fix status server segfault when deleting files from clientconfdir.
  * Allow directories in clientconfdir.
  * Add the ability for the server to set the client include/excludes.
  * Simulate browsing backups with the use of "-a l/L -d path".
  * Add ability to set up a restore on the server side.
  * Add ability to specify child processes separately to status child process
    with new max_status_children option.
  * Status monitor - make keypresses more responsive.
  * Fix bug where old clients that didn't leave an incexc file on the server
    meant that resume would not start.
  * Add 'include_ext' option, which excludes all files unless their names end
    in the given extension.
  * Fall back to using the client or server name if ssl_peer_cn is unset on the
    server or client.
  * Don't try to chuser/chgrp in the child if the user/group settings are the
    same as the parent (fixes bug where setting user/group in the server
    wouldn't work, because it would try to chuser/chgrp twice).
  * Windows installer: add comment about poll interval '0' means that the
    scheduled job isn't installed.
  * Windows installer: don't install the scheduled task when doing an upgrade.
  * Unlock the client directory after server_script_post has run instead of
    before.
  * Fix bug where the wrong arg count was being given to the server post
    script.
  * Make sure status snapshot exits when there are no backup clients.
  * Ability to dump logs and paths in backups using '-a S' (useful for making
    a gui that browses backup contents).
  * Bug fixes to ssl_extra_checks_script.
  * Bug fix: initialise network_timeout properly.
  * Fix typos in docs/burp_ca.txt.
  * Add 'export LANG=C' to the timer script, so that timer_arg days are always
    expected in English.
  * Add config file option to turn syslog logging on/off.
  * Bug fix for 'compression = gzip[0-9]'.
  * Pass the server version to the client.

2012-01-27: This month marks one year of burp!
Many thanks to the following donors for financially supporting burp during the last year:

  * £250.00 Robert L.
  *  £50.00 Sebastiano P.
  *  £10.00 Tim R.
  *  £10.00 Patryk D.

2012-01-27: burp-1.3.1 is released.

Changes in burp-1.3.1:
  * EFS support on Windows.
  * Move to using mingw-w64 for both 32bit and 64bit Windows builds.
  * Add 'exclude_fs =' option for Linux so that you can skip partitions
    types (for example, tmpfs) without generating warnings.
  * If recovery method 'resume' is set, but the includes/excludes change,
    switch to 'use', then start a new backup.
  * In the tests, check to see whether it looks like the server has finished
    the backup before moving on, rather than just waiting a set amount of time.
  * Add man pages for bedup and burp_ca.
  * Remove embedded uthash code. It will need to be installed as a dependency.
    For example, in Debian, you might run 'apt-get install uthash-dev'.
  * Add Bas van den Dikkenberg's tweaks for getting burp into official Debian
    and Ubuntu repositories. Burp is now in debian sid and ubuntu precise.
  * Make the server tell the client what extra_comms features it supports, so
    that, in future, old servers are more likely to work with new clients.
  * Improve 'make clean'.
  * Add option to strip off leading path components on restore.
  * Fix segfault that was happening on the server when SSL_accept() failed.
  * Move burp and bedup to /usr/sbin (you need to check that any cron jobs
    are pointing there too).
  * Moved list of things to do to https://github.com/grke/burp/issues

2012-01-27: burp-1.3.0 is released.

Changes in burp-1.3.0:
  * Add a mechanism for automatically upgrading clients.
  * Fix bug where attributes on Windows directories were not getting read
    properly.
  * Fix rounding problem in remaining time estimation in the status monitor.
  * Don't backup the whole file if only ctime changed.
  * Include the client name in arguments to server scripts.
  * Do not log a message in the server SIGCHLD handler, as this appeared to
    be causing an occasional lock up on a Ubuntu server.
  * Upgrade Windows depkgs to latest versions of openssl.
  * Make Windows uninstall work.
  * Add 'allow autoupgrade' option to a second screen on the Windows installer.
  * Add 'max_storage_subdirs' option, and default it to 30000.

2011-12-30: burp-1.2.7 is released.

Changes in burp-1.2.7:
  * Add an automated test script.
  * Fix bugs with uncompressed encrypted backup/restore.
  * Get verify all backups for a client (-a v -b a) to work.
  * Return non-zero if there were warnings on verify or restore.
  * Add 'min_file_size' option, fix 'max_file_size' option.
  * Add generic server-side pre/post scripts that can run on every connection
    after authentication and before disconnecting.
  * Set environment variables from SSL cert details so that the server-side
    scripts can see them.
  * Add Jason Haar's server script for doing extra SSL certificate checks.
  * Add 'max_hardlinks' option, which limits the number of times a single file
    is hardlinked in storage. Default is 10000.
  * Add '-i' option: print an index table of symbols that humans may see burp
    produce, and exit.
  * Let backups carry on when files cannot be opened.
  * Spot Windows EFS directories and files and warn about them.
  * Add an 'estimate' option (-a e), which does a scan of the file system to
    be backed up, and prints counters, without contacting the server.
  * Strip out 744 lines of unused Windows code.
  * Fix possible segfault when backup directory forward paths don't match.
  * Removed working_dir_recovery_method=merge. Use 'resume' instead.
  * Add a flexible way of passing new fields from the client to the server so
    that clients are less likely to have to upgrade.

2011-11-26: burp-1.2.5 is released.

Changes in burp-1.2.5:
  * IMPORTANT: Fixed critical path comparison typo bug. If you have been using
	1.2.4 either as a server or as a client, you need to upgrade
	immediately! Backups made with 1.2.4 should be treated as suspicious.
  * Add a 'max_file_size' option.
  * Store windows file attributes in a separate field to the standard unix ones.

2011-11-22: burp-1.2.4 is released.

Changes in burp-1.2.4:
  * Add a file deduplication program, "bedup".
  * Add a network_timeout parameter. Default is 7200 seconds (2 hours).
  * Add option to send success notifications only if there were warnings.
  * Try to create the pidfile directory if it doesn't exist.
  * Restore times on Windows files.
  * Restore readonly/hidden attributes on Windows.
  * Fix bug in 'keep' mechanism where setting 'keep=2' would delete both
        backups.
  * Only install clientconfdir/testclient with 'make install' if clientconfdir
    didn't previously exist.
  * Fix possible segfault when resume mode triggers with nothing to resume.

2011-09-29: burp-1.2.2 is released.

Changes in burp-1.2.2:
  * Multiple retention periods (e.g, keep 1 backup per day for 7 days, 1
    backup per week for 4 weeks, 1 backup per 4 weeks for a year). See the
    'keep' option in the man page.
  * Make sure the client version warning message appears in the backup log.
  * Network send rate-limiting feature (both client and server).
  * Change pidfile paths to /var/run/burp instead of /var/lock/burp.
  * Get pre backup scripts running reliably again. Also, send script messages
    on stderr to the server backup log.
  * Fix 'Warnings' line on the status monitor.
  * Fix resume mode bug to do with potentially partially written entries at
    the end of the phase2 file.

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.


Burp, don't suck. Last updated: May 2012
Hosted by 6sync