Bacula

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 macOS backup clients, and a range of professional backup devices including tape libraries. Administrators and operators can configure the system via a command line, GUI or web interface; its back-end is a catalog of information stored by MySQL, PostgreSQL, or SQLite.

Overview
Bacula is a set of computer programs for managing backup, recovery, and verification of computer data across a network—providing a backup solution for mixed operating system environments.

Bacula is open-source and released under the AGPL version 3 license with exceptions to permit linking with OpenSSL and distributing Windows binaries.

Bacula is available under a "dual license" (see Multi-licensing) AGPLv3 or Proprietary license. Several entities offer commercial support for the AGPL "Bacula community version" while Bacula Systems sells various levels of annual support contracts for "Bacula Enterprise Edition", which contains various non-GPL components developed in-house.

In common with other dual-license software, components developed for the Bacula Enterprise Edition are released into Bacula Community edition after some period of exclusivity to the proprietary version.

Since April 2002, Bacula has over 2 million downloads, which makes it the most downloaded open-source backup program.

Features
Bacula's features include:

Network options

 * TCP/IP – client–server communication uses standard ports and services instead of RPC for NFS, SMB, etc.; this eases firewall administration and network security
 * CRAM-MD5 – configurable client–server authentication
 * GZIP/LZO – client-side compression to reduce network bandwidth consumption; this runs separate from hardware compression done by the backup device
 * TLS – network communication encryption
 * MD5/SHA – verify file integrity
 * CRC – verify data block integrity
 * PKI – backup data encryption
 * NDMP – enterprise version plugin
 * cloud backup with some S3 file storage services

Client OS
The client software, executed by a "file daemon" running on a Bacula client, supports multiple operating systems.

Considerations
By default, 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 that addresses this issue without requiring modification of the files timestamps. This feature should always be used if an accurate state of the filesystem is important. Which criteria should be applied is configurable, i.e. inode comparisons, modification times or md5/sha1 signatures.

Forks of Bacula
In 2011, Graham Keeling, a "former" Bacula community developer, released a friendly fork of Bacula.

In February 2013 a former Bacula community developer (with several other Free Software users) released Bareos as a fork of Bacula.