[B]ack[U]p and [R]estore [P]rogram

One of the most popular backup solution under Linux is Bacula, but it’s quite complicated to setup. The same for Amanda.
Since my last sponsored upload we’ve got another alternative in Debian. It’s called burp.

Let’s enumerate its features as of version 1.3.0:

  • Server mode runs on Unix-based systems.
  • Client mode runs on Windows and Unix-based systems.
  • Windows Volume Shadow Copy Service (VSS) support (Windows XP R2 and newer).
  • Windows 32bit and 64bit support.
  • Delta differencing with librsync.
  • Network backups.
  • Backs up and restores files, directories, symlinks, hardlinks, fifos and nodes.
  • Storage and network compression using zlib.
  • Ability to continue interrupted backups.
  • Client/server communications encryption with SSL.
  • Client side file encryption – (note: this turns off delta differencing).
  • Scheduling.
  • Email backup success/failure notifications.
  • A single daily backup summary email.
  • A live ncurses monitor on the server.
  • Fifo read/write support.
  • Pre/post backup/restore client scripts.
  • Backups of Solaris ZFS snapshot send/receives.
  • Linux and FreeBSD acl/xattr support.
  • 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).
  • Network rate limiting.
  • Storage data deduplication.
  • Automatic client upgrade.

Sounds good and this project is only 1 year old!

Author claims that setup is much easier than with Bacula. Let’s find out is that truth 😉

Since we’ve got this software in Debian installing it on unstable is as simple as `apt-get install burp`.
Both client and server came from the same binary package.

Now let’s configure server side. Well… in fact we just have to run it, so just change RUN=no to RUN=yes in /etc/default/burp and launch it using `/etc/init.d/burp start`.

Now the client side. If the client is on the same machine then… you’re ready. Yes you’re ready!

Let’s do our first backup:

backup ~ # burp -a b
2012-02-22 17:53:03: burp[30584] Listing configured paths:
2012-02-22 17:53:03: burp[30584] include: /home
2012-02-22 17:53:03: burp[30584] Listing starting paths:
2012-02-22 17:53:03: burp[30584] /home
2012-02-22 17:53:03: burp[30584] before client
2012-02-22 17:53:03: burp[30584] begin client
2012-02-22 17:53:03: burp[30584] auth ok
2012-02-22 17:53:03: burp[30584] Compression level: 9
2012-02-22 17:53:03: burp[30584] do backup client
2012-02-22 17:53:03: burp[30584] Phase 1 begin (file system scan)
 
ddwdffffddffdfdfdddfffffdddfffffffdfffdfdfffffdfdfdffdddddfffddff 64
[...a lot of output...]
 
2012-02-22 17:53:03: burp[30584] Phase 1 end (file system scan)
2012-02-22 17:53:03: burp[30584] Phase 2 begin (send file data)
 
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 64
[...a lot of output...]
 
--------------------------------------------------------------------------------
Start time: 2012-02-22 17:53:03
  End time: 2012-02-22 17:53:07
Time taken: 00:04
                             New   Changed Unchanged     Total |  Scanned
                       --------------------------------------------------
                Files:       100         0         -       100 |      100
          Directories:         -         -         -         - |       76
           Soft links:         -         -         -         - |        1
          Grand total:       100         0         -       100 |      177
                       --------------------------------------------------
 
             Warnings:             1
 
      Bytes estimated:      17628946 (16.81 MB)
      Bytes in backup:      17628946 (16.81 MB)
       Bytes received:             0
           Bytes sent:      17628946 (16.81 MB)
--------------------------------------------------------------------------------
2012-02-22 17:53:07: burp[30584] Phase 2 end (send file data)
2012-02-22 17:53:07: burp[30584] backup finished ok
2012-02-22 17:53:07: burp[30584] after client
backup ~ #

Yes. By default it is so extremely simple!

Of course this way we can make backup of /home (that’s default) to /var/spool/burp (also default location) but you can easily change this.
For the simplest scenario (backing up laptop to remote server) all I had to change was “server = 127.0.0.1” in /etc/burp/burp.conf on the client side.

Burp comes with handy tool called burp_ca and it simplifies setting up encrypted backups. In fact there is step by step howto in documentation.
Other options are quite self explanatory and well documented in both client and server config files that came with the package.

Happy backuping!

This entry was posted in Uncategorized by .
  • Bookmark and Share

7 thoughts on “[B]ack[U]p and [R]estore [P]rogram

  1. tomek

    Hi,

    for me bacula has some nice feature like ‘tapes’ (limited disk space). I read burp documentation for a while and I could not find that feature, also could not find information about what will happen when free space will end, it will crash? It deletes first backup? You have some expiriences in that?

    Reply
    1. fEnIo Post author

      Sorry. Burp is disk oriented and has no support for tapes.
      In fact tape-orientation of Bacula was one of the reason to write other solution from scratch according to author.

      So if you have streamer and using Bacula, just stay with it.

      Speaking about free space.. Well you have to monitor it and setup “keep” variable properly.

      Reply
    1. fEnIo Post author

      Didn’ know it. Thanks.

      Data deduplication across different sets of backups sounds very interesting. I wish author to fix locking problems in future versions, cause without locking it’s quite useless.

      Reply
  2. Paulo Almeida

    Very nice, I had never heard of burp. Earlier today I was looking for alternatives to amanda and bacula, which I also find complex, and I came across backuppc. It is also on debian and seems to have good features.

    Reply

Leave a Reply to Anonymous Cancel reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.