Bacula

Bacula
Developer(s) Kern Sibbald, and team
Stable release 5.2.3 / December 16, 2011; 61 days ago (2011-12-16)
Written in C++
Operating system Cross-platform
Type Backup
License GNU General Public License v2.0
Website http://www.bacula.org/

Bacula is an open source, enterprise level computer backup system for heterogeneous networks. It is designed to automate backup tasks that had often required intervention from a systems administrator or computer operator.

Bacula supports Linux, UNIX, Windows, and Mac OS X backup clients, and a range of professional backup devices including tape libraries. Administrators and operators can configure the system via a command line console, GUI or web interface; its back-end is a catalog of information stored by MySQL, PostgreSQL, or SQLite.

Contents

Introduction

Bacula is a set of computer programs for managing backup, recovery, and verification of computer data across a network. These programs work together to provide a robust, easily managed, and complete backup solution for mixed operating system environments.

Bacula is the collective work of many developers, including Kern Sibbald, and its current release has been built upon ten years of development. It is open source and available without fees for both commercial and non-commercial application, with respect to the GPL2 license with exceptions to permit linking with OpenSSL and distributing Windows binaries.[1] Bacula is a registered trademark of Kern Sibbald.

According to project information published on SourceForge, since April 2002, Bacula has over 1.3 million downloads, which is four times more than any other open source backup program during the same period. By download statistics, this makes it the most downloaded open source backup program.

Features

Bacula supports many features used by large scale, production networks, including:

Network options

Client-options

Backup devices

Client OS

The client software, executed by a "file daemon" running on a Bacula client, on many operating systems, [2] including:

Structure

Bacula is designed to be modular so that it can scale to the needs of its operator(s). Any installation contains three kinds of daemons to execute backup and restore functionality:

Director Daemon
manages other daemons, queries and updates catalog, interfaces with operator front-ends, automates backup schedules
Storage Daemon
makes system calls to drive backup media, responds to read/write requests from Director, and receives backup/restore data from file daemon
File Daemon
negotiates client-side communication, encryption and compression, opens file handles to access a client's data
Bacula Console
the control interface from which the user can enter commands to operate Bacula tasks. the console is a command line interface.
Bat (Bacula Administrative Tool) Console
a GUI interface from which the user can enter commands to operate Bacula tasks.
Tray Monitor
is a GUI that can be installed on any desktop to monitor the Bacula operations.
Bweb
a web interface that allows systems management views of all the Bacula backups. It also permits most all operations that can be done with the console.

These daemons can run on independent hosts but typical installations consist of three kinds of Bacula hosts:

Client machines
the machines that contain the files to be backed up
Storage machines
machines that contain the media used to store the backups
Backup Servers
that orchestrate the backup processes

The Director manages everything so its host will always be called a "backup server"; the client and storage daemons run as its subordinates and have no direct control of the back up process. While this structure suggests that the three daemons run on three different machines, an equally valid setup is to run all three daemons on the machine that controls the backup process and backup additional machines that have just a file daemon installed. It is also possible mount any remote files and storage resources into its filesystem over SMB or NFS, however, the Bacula developers discourage this in favor of having a File daemon installed on each machine to be backed up. In practice, however, the Director and Storage Daemon are often run on one machine (often referred to as the Bacula Server). The File Daemon is then run on each machine to be backed up (including the Bacula server—because its catalog is dumped as SQL).

Backup data can be stored on various media, including tape, optical media, and disk.

Limitations

Bacula stores backup data in an open and documented yet unique format; there are Bacula standalone tools to read/write the backup data (bls, bcopy, bscan, bextract), it is not compatible with other Unix backup utilities such as tar or dump. Bacula developers and users do not consider this a limitation, because it is an extensible, machine independent format that far surpasses the capabilities of the tar and dump formats.

By default, and as is case for all other open source backup software, Bacula's Differential and Incremental backups are based on system time stamps. Consequently, if you move files into an existing directory or move a whole directory into the backup FileSet after a Full backup, those files may not be backed up by an Incremental save because they may have old dates. You must explicitly update the date/time stamp on all moved files. Bacula versions starting with 3.0 or later support Accurate backup, which is an option to address this issue.[3] Windows NTBackup, which is not as feature rich as Bacula, does not have this problem, because it does not rely on time stamps, but uses the archive bit attribute instead, which has its own set of problems.[4]

History

Date Event
January 2000 Project started
April 14, 2002 First release to SourceForge.net (version 1.16)
June 29, 2006 Release 1.38.11 (Final version 1 release)
January 2007 Release 2.0.0
September 2007 Release 2.2.3
June 2008 Release 2.4.0
April 2009 Release 3.0.0
January 2010 Release 5.0.0
September 2010 Release 5.0.3

Further reading

Notes

  1. ^ http://www.bacula.org/dev-manual/en/main/main/Bacula_Copyright_Trademark_.html
  2. ^ http://www.bacula.org/dev-manual/en/main/main/Supported_Operating_Systems.html
  3. ^ http://www.bacula.org/3.0.x-manuals/en/concepts/concepts/New_Features_in_3_0_0.html#428
  4. ^ http://en.wikipedia.org/wiki/NTBackup

External links