What backup software offerings are fit for "enterprise" use? [closed]

Bacula is an Open Source Backup solution. It's architecture is designed after that of major commercial solutions.

Platforms

Bacula supports Windows as well as any POSIX compliant Unix system.

Encrypted communication

Authentication between daemons is always secure, to encrypt the communication between the daemons, a full rollout of PKI (client certificates) must be done.

Architecture & Scalability

Bacula consists of file daemons (clients), one or more directors (Job Schedulers) and one or more storage daemons. Each director can use multiple catalogs (SQL Databases) to store information about jobs.

See the Bacula documentation for a more in depth look at Bacula architecture.

Storage devices

Bacula stores all file contents in volumes which can be stored on local filesystem, on tape drives or even on DVD media. Support for tape autochangers exists.

Configuration safety

All configuration exists in the form of plain text files, which can be easily versioned by a SCM. Additional state of the software is entirely in a SQL database, which can be audited by appropriate tools on the database side.

Statistics Interfaces

No native interfaces for monitoring or performance data exist, although this information can be extracted from the SQL databases without too much troubles. There've been some improvements in this area in Bacula 3.0, which I haven't explored in detail yet.

Data deduplication

Bacula doesn't support any form of data deduplication.

Deleted file handling in incremental backup jobs

As of Bacula 3.0, there's a mode to handle deleted/renamed files correctly.

Disaster recovery

Bacula is working on a Live system which aids in bare metal recovery. See the release notes for further information.

Job scheduling

Job scheduling is very rigid in Bacula. You can define intervals and start times for every backup job, but there's no automatic tuning/distribution of the jobs based on (changing) amounts of data which need to be backed up.

Plugins & Helpers

Bacula 3.0 comes with a new plugin system and native support for Exchange 2003 & 2007. Additionally there's an extensive framework to run custom scripts on client side before/after backup jobs.

Job Migration

Jobs can be easily migrated between different pools.


After 10+ years and thousands of dollars, I have given up on both tape and commercial solutions. We now backup to disk, and I look for a backup solution to be:

  • Free/open archive formats (e.g., tar, zip, etc.)

  • Scriptable -- can involve native commands or utilities, but these must be callable from a common backup script (e.g., exmerge, osql, mysqldump, gnupg, etc.)

  • Platform independent where possible

  • Generates log files or status that can be emailed/directed as part of the overall job

While these fail many of the "enterprise" criteria specified above, in my experience the keep-it-simple, standardized approach is more likely to result in your data being both recoverable and secure. Keep in mind there is no one ideal solution for backing up all systems, and developing effective backup strategies for each one involves more than just buying an agent for a commercial program.


I use rdiff-backup. It's basically like rsync, but you can easily access old versions of files/directories and manage how many old versions are kept. It's only useful when backing up to disk, but disks are cheaper than tape these days anyway.

You need to have it installed on both the server and the client, and it runs on OS X, Linux, and Windows. I haven't used it on Windows, but according to the project's mailing list it runs pretty much the same there.