Bacula
![]() | This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
![]() | |
Developer(s) | Kern Sibbald, and team |
---|---|
Initial release | January 2000 |
Stable release | 9.2.1
/ August 12, 2018[1] |
Written in | C, C++ |
Operating system | Cross-platform |
Type | Backup |
License | GNU Affero General Public License v3.0 |
Website | blog |
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 console, 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.[2]
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 [3] sells various levels of annual support contracts for "Bacula Enterprise Edition", which contains various non-GPL components developed in-house. In 2015, Bacula Systems was named 'Top 20 Most Promising Data Center Solution Providers' by CIO Review.[4]
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.[5]
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[6]
Client-options
- Support for the withdrawn POSIX draft ACL proposal - for Linux and Unix machines
- Windows ACLs - on local NTFS mounts are automatically saved/restored by using the BackupRead API
- Windows ACLs - are not saved/restored via a network NFS/SMB mount
- Unicode/UTF-8 - cross-platform filenames
- VSS - calls Microsoft's snapshot service
- LVM - pre-script setup for Linux/UNIX snapshot
- LFS - backup files larger than 2 GiB
- raw - backup devices without a filesystem
Backup devices
- pooling - allocates backup volumes according to job needs and retention configuration
- spooling - writes backup data to spool until target backup medium is allocated so jobs can continue uninterrupted
- media-spanning - such as spanning tapes
- multi-streaming - write multiple, simultaneous data streams to the same medium
- ANSI & EBCDIC - IBM compatibility
- Barcodes - reading tape barcodes in libraries
- autoloaders - virtually every tape autoloader available (called autochangers in Bacula)
- most tape drives, including DDS, DLT, SDLT, LTO-1-6
- locations - tapes can be "out" of a library, allowing off-site storage
Client OS
The client software, executed by a "file daemon" running on a Bacula client, supports multiple operating systems.[7]
Considerations
Bacula stores backup data in an open and documented yet unique volume format; there are Bacula standalone tools to read/write the backup data (bls, bcopy, bscan, bextract), these tools are not compatible with other Unix backup utilities such as tar or dump. Since the Bacula format is open and has a clear separation of data and metadata, even cross-OS restores from Windows to Unix and vice versa have been possible - as long as extended filesystem ACL data can be ignored on backup.
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.[8]
Compression in Bacula can be turned on at the client or within a tape drive (the latter is a hardware feature). Compression algorithms at the client can be selected, i.e. as gzip or lzo.
In order to allow multiple users to access a single Bacula server, Bacula implements console ACLs a to allow/disallow access to catalog data on a console by console basis—for example for user restores. If multiple consoles are permitted without ACLs, users may be able to access data that does not belong to them.
It is also possible to start any Client (File daemon) in backup only mode so that the Bacula Client cannot modify the filesystem.
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 with new features[9] |
January 2010 | Release 5.0.0 with new features[10] |
September 2010 | Release 5.0.3 |
January 2012 | Release 5.2.4 with new features[11] |
February 2012 | Release 5.2.6 |
June 2012 | Release 5.2.9 |
February 2013 | Release 5.2.13 |
July 2014 | Release 7.0.5 with many new features[12] |
August 2015 | Release 7.2.0 with many new features[13] |
July 2017 | Release 9.0.0 with many new features[14] |
Forks of Bacula
In 2011, Graham Keeling, a "former" Bacula community developer, released a friendly fork of Bacula.[15] This fork is interesting in that it takes quite a different approach to backup than Bacula does. Graham is on good terms with the developers and the Bacula project. In 2013, Graham authorized Bacula and Bacula Systems to use some of his code.
In February 2013 a former Bacula community developer (with several other Free Software users) released Bareos as a fork of Bacula.[16]
References
- ^ Sibbald, Kern (14 August 2018). "Bacula Release 9.2.1".
- ^ "Bacula Copyright, Trademark, and Licenses". Bacula.org.
- ^ "Bacula Systems S.A."
- ^ 10 June 2015. "June 2015 Data Center special edition". CIO Review. Retrieved 10 June 2015.
{{cite web}}
: CS1 maint: numeric names: authors list (link) - ^ http://sourceforge.net/projects/bacula/
- ^ Bacula Enterprise Plugins
- ^ "Supported Operating Systems". Bacula.org.
- ^ "New Features in 3.0.0". Bacula.org.
- ^ "New Features in 3.0.0". Bacula.org.
- ^ "New Features in 5.0.0". Bacula.org.
- ^ "New Features in 5.2.0". Bacula.org.
- ^ "New Features in 7.0.0". Bacula.org.
- ^ "New Features in 7.2.0". Bacula.org.
- ^ "New Features in 9.0.0". Bacula.org.
- ^ "Burp".
- ^ "Bareos".