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!