This post compares the various open source backup solutions that support Linux, MacOS X and Windows clients. Feel free to comment and let me know if there is a solution that I missed and should add to the list.
Backup software
Amanda
Web site: http://www.amanda.org/
Enabling data encryption:
http://www.crypt.gen.nz/papers/backup_encryption.html
Bacula
Web site: http://www.bacula.org/
BackupPC
Web site: http://backuppc.sourceforge.net/
Rdiff-backup
Web site: http://rdiff-backup.nongnu.org/
Box Backup
Web site: http://www.boxbackup.org/
License: BSD
A relatively young project aiming at providing a simple and low cost on-line backup solution. All the data is being backed up to a single central server, while no backup tapes or CDs/DVDs are needed.
The data is encrypted on the on the server, and the only requirement from the server (and its admin) is to provide the data on request.
The backing up process is efficient, sending only the changes in the files to the backup server – just like RSync. It also keeps the old versions of the files.
A recommended setup is to have the Box Backup server hosted in an off-site location, for example an Internet hosting serivce.
There are a couple of GUI clients for Box Backup:
Boxi – http://boxi.sourceforge.net/
C++ client, runs on Unix/Linux/Windows (requires Cygwin) platforms. Requires compilations as it is distributed as source code.
Box Backup Explorer – http://www.joonis.de/boxbackup-explorer
A web application that is written in Python. Runs on any platform that has Apache and Python installed.
The backup client supports the following platforms: Linux, Mac OS X, Windows, OpenBSD, FreeBSD, Solaris and NetBSD (currently have some minor issues with dates on symlinks).
The server software runs on: Linux, Mac OS X, OpenBSD, FreeBSD, Solaris and NetBSD (currently have some minor issues with dates on symlinks)
Open Source Backup Solutions Comparison
Solution | Amanda | Bacula | BackupPC | BoxBackup | Rdiff-backup |
Most suitable for backing up | servers | servers | laptops/desktops, servers. | laptops/desktops, servers. | |
Communications | Amanda agent installed on client host | Bacula agent (“Bacula File”) installed on client host | SSH, NFS, SMB, rsync | Backup agent installed on client host | |
Encryption of connection to server | Non encrypted. | TLS/SSL optional | Available through SSH connection. | TLS/SSL | |
Authentication | IP and username, Kerberos 4/5, SSH | CRAM-MD5, SSL certificates (optional) | SSL certificates | SSL certificates | |
Data is encrypted | Optional | Optional | Yes | Yes. Can be decrypted only by the client | |
Data structure | Amanda header followed by tar / tar.gz/ dump / dump gzipped | Backula-specific file format.Format is open and documented. | Identical files are stored only once (even for different clients) and hard links are used to point to them. Files on disk have a “f” suffix – so the best way to restore or browse is using the web interface. | Only changes to files are stored. | |
Compression | Supported on client or on server side. | Supported on the client side (gzip/lzo) | Compressed on server | Files are stored compressed on server | |
Deletion of old data backups | Old files remain unless the backup tape is configured to being pruned (recycled) | Old files remain unless the backup tape is configured to being pruned (recycled) | Old files remain until a configured storage limit reached. | Old files remain on server until a configured storage limit reached. | |
Backup scheduling method | Scheduled using cron | Bult in Bacula Director. | Scheduled using cron | continuous, whenever data has changed, or scheduled via cron | |
Backup media | Disks, tapes, CDs, DVDs | Disks, tapes, CDs, DVDs | Disks | Disk | |
Restore | Simple via interactive command line/GUI | Simple via interactive command line/GUI | Via command line or web GUI. | Simple via interactive command line | |
Optimized for remote backups? | No | No | Yes | Yes.Using a modified version of rsync to send differences in encrypted files. | Yes |
On-line | Yes | Yes | Yes | Yes | |
UI | Command line | GNOME interface | Web GUI, Command line | command line | |
Server OS | Linux/BSD/Unix, Mac OS X | Linux/BSD/Unix, Mac OS X | Linux/BSD/Unix, Mac OS X | Linux/BSD/Unix, Mac OS X | |
Client OS | Linux/BSD/Unix, Mac OS X, Windows | Linux/BSD/Unix, Mac OS X, Windows | Linux/BSD/Unix, Mac OS X, Windows | Linux/BSD/Unix, Mac OS X, Windows |
Other backup solutions
RSanpshot
Web site: http://rsnapshot.org/
Maybe you can also add Areca Backup (http://www.areca-backup.org/)? It supports Linux and Windows. I’m not sure about their Mac-support.