Bacula
Developer(s) | Kern Sibbald, and team |
---|---|
Initial release | January 2000 |
Stable release |
7.4.4
/ September 21, 2016 |
Repository |
www |
Written in | C++ |
Operating system | Cross-platform |
Type | Backup |
License | GNU Affero General Public License v3.0 |
Website |
www |
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.
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.[1]
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 [2] 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.[3]
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.[4]
Features
Bacula's features include:
Network options
- TCP/IP - client–server communication uses standard ports and services instead of RPC for NFS, CIFS, 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[5]
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/CIFS 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 2GiB
- 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.[6]
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.[7]
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[8] |
January 2010 | Release 5.0.0 with new features[9] |
September 2010 | Release 5.0.3 |
January 2012 | Release 5.2.4 with new features[10] |
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[11] |
August 2015 | Release 7.2.0 with many new features[12] |
Forks of Bacula
In 2011, Graham Keeling, a "former" Bacula community developer, released a friendly fork of Bacula.[13] 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.[14]
Further reading
- "Main Bacula Documentation". 2014.
- Preston, W. Curtis (2007). Backup & Recovery. O'Reilly Media. ISBN 0-596-10246-1. Retrieved 10 May 2010. Chapter 7 covers Bacula
- "Enterprise Networking article". 2009.
- "Server Watch article". 2007.
- "The Bacula Philosophy". 2005.
- "Deduplication article". 2010.
- Storz, Philipp (2013). Bacula. Open Source Press. ISBN 978-3-95539-002-0.
- FreeBSD Diary. "Bacula: Cross-Platform Client-Server Backups".
- Broadley, Claire (2013). "Beginner's Guide to Bacula Open Source Backup and EC2".
- "Setup Backup Server Using Bacula And Webmin On Ubuntu 14.04". 2014.
- "Bacula backup tutorial - install, backup & restore".
References
- ↑ "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.
- ↑ 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.
- ↑ "Burp".
- ↑ "Bareos".