Bacula – network backup solution

Bacula is a set of computer programs for the backup, recovery, and verification of computer data across a network of computers of different kinds.

Bacula is relatively easy to use and efficient, while offering many advanced storage management features that make it easy to find and recover lost or damaged files.

Bacula is made up of the following five major components or services: Director, Console, File, Storage, and Monitor services.

The Bacula Director service supervises all the backup, restore, verify and archive operations. The Bacula Console service allows the administrator or user to communicate with the Bacula Director Currently, the Bacula Console is available in three versions: text-based console interface, GNOME-based interface, and a wxWidgets graphical interface.

The Bacula File service (also known as the Client program) is installed on the machine to be backed up. The Bacula Storage services consist of the software programs that perform the storage and recovery of the file attributes and data to the physical backup media or volumes.

The Catalog services are comprised of the software programs responsible for maintaining the file indexes and volume databases for all files backed up.

Features include:

  • Backup and restore clients of any type ensuring that all attributes of files are properly saved and restored.
  • Multi-volume backups supported.
  • A full comprehensive SQL standard database of all files backed up. This permits online viewing of files saved on any particular Volume.
  • Automatic pruning of the database (removal of old records) thus simplifying database administration.
  • Any SQL database engine can be used making Bacula very flexible. Drivers currently exist for MySQL, PostgreSQL, and SQLite.
  • Built-in Job scheduler.
  • Rescue CD for Linux systems

Features in more detail:

  • Job Control
    • Network backup/restore with centralized Director.
    • Internal scheduler for automatic Job execution.
    • Scheduling of multiple Jobs at the same time.
    • You may run one Job at a time or multiple simultaneous Jobs (sometimes called multiplexing).
    • Job sequencing using priorities.
    • Console interface to the Director allowing complete control. A shell, GNOME
      GUI and wxWidgets GUI versions of the Console program are available. Note, the GNOME GUI program currently offers very few additional features over the shell program. With version 2.2.0, a much more complete GUI interface has been written, which is called the Bacula Admistration Tool, or bat.
  • Security
    • Verification of files previously cataloged, permitting a Tripwire like capability (system break-in detection).
    • CRAM-MD5 password authentication between each component (daemon).
    • Configurable TLS (SSL) communications encryption between each component.
    • Configurable Data (on Volume) encryption on a Client by Client basis.
    • Computation of MD5 or SHA1 signatures of the file data if requested.
  • Restore Features
    • Restore of one or more files selected interactively either for the current backup or a backup prior to a specified time and date.
    • Restore of a complete system starting from bare metal. This is mostly automated for Linux systems and partially automated for Solaris. See Disaster Recovery Using Bacula. This is also reported to work on Win2K/XP systems.
    • Listing and Restoration of files using stand-alone bls and bextract tool programs. Among other things, this permits extraction of files when Bacula and/or the catalog are not available. Note, the recommended way to restore files is using the restore command in the Console. These programs are designed for use as a last resort.
    • Ability to restore the catalog database rapidly by using bootstrap files (previously saved).
    • Ability to recreate the catalog database by scanning backup Volumes using the bscan program.
  • SQL Catalog
    • Catalog database facility for remembering Volumes,
      Pools, Jobs, and Files backed up.
    • Support for MySQL, PostgreSQL, and SQLite Catalog databases.
    • User extensible queries to the MySQL, PostgreSQL and SQLite databases.
  • Advanced Volume and Pool Management
    • Labeled Volumes, preventing accidental overwriting (at least by Bacula).
    • Any number of Jobs and Clients can be backed up to a single Volume. That is, you can backup and restore Linux, Unix, Sun, and Windows machines to the same Volume.
    • Multi-volume saves. When a Volume is full, Bacula automatically requests the next Volume and continues the backup.
    • Pool and Volume library management providing Volume flexibility (e.g. monthly, weekly, daily Volume sets, Volume sets segregated by Client, …).
    • Machine independent Volume data format. Linux, Solaris, and Windows clients can all be backed up to the same Volume if desired.
    • The Volume data format is upwards compatible so that old Volumes can always be read.
    • A flexible message handler including routing of messages from any daemon back to the Director and automatic email reporting.
    • Data spooling to disk during backup with subsequent write to tape from the spooled disk files. This prevents tape “shoe shine” during Incremental/Differential backups.
  • Advanced Support for most Storage Devices
    • Autochanger support using a simple shell interface that can interface to virtually any autoloader program. A script for mtx is provided.
    • Support for autochanger barcodes — automatic tape labeling from barcodes.
    • Automatic support for multiple autochanger magazines either using barcodes or by reading the tapes.
    • Support for multiple drive autochangers.
    • Raw device backup/restore. Restore must be to the same device.
    • All Volume blocks (approximately 64K bytes) contain a data checksum.
    • Migration support — move data from one Pool to another or one Volume to another.
    • Supports writing to DVD.
  • Miscellaneous
    • Multi-threaded implementation.
    • A comprehensive and extensible configuration file for each daemon.

Support: Documentation, GitLab Code Repository
Developer: Bacula Development Team
License: AGLP v3


Bacula is written in C and C++. Learn C with our recommended free books and free tutorials. Learn C++ with our recommended free books and free tutorials.

Return to Backup

Popular series
Free and Open Source SoftwareThe largest compilation of the best free and open source software in the universe. Each article is supplied with a legendary ratings chart helping you to make informed decisions.
ReviewsHundreds of in-depth reviews offering our unbiased and expert opinion on software. We offer helpful and impartial information.
Alternatives to Proprietary SoftwareReplace proprietary software with open source alternatives: Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle, Atlassian, Corel, Cisco, Intuit, and SAS.
GamesAwesome Free Linux Games Tools showcases a series of tools that making gaming on Linux a more pleasurable experience. This is a new series.
Artificial intelligence iconMachine Learning explores practical applications of machine learning and deep learning from a Linux perspective. We've written reviews of more than 40 self-hosted apps. All are free and open source.
Guide to LinuxNew to Linux? Read our Linux for Starters series. We start right at the basics and teach you everything you need to know to get started with Linux.
Alternatives to popular CLI tools showcases essential tools that are modern replacements for core Linux utilities.
System ToolsEssential Linux system tools focuses on small, indispensable utilities, useful for system administrators as well as regular users.
ProductivityLinux utilities to maximise your productivity. Small, indispensable tools, useful for anyone running a Linux machine.
AudioSurveys popular streaming services from a Linux perspective: Amazon Music Unlimited, Myuzi, Spotify, Deezer, Tidal.
Saving Money with LinuxSaving Money with Linux looks at how you can reduce your energy bills running Linux.
Home ComputersHome computers became commonplace in the 1980s. Emulate home computers including the Commodore 64, Amiga, Atari ST, ZX81, Amstrad CPC, and ZX Spectrum.
Now and ThenNow and Then examines how promising open source software fared over the years. It can be a bumpy ride.
Linux at HomeLinux at Home looks at a range of home activities where Linux can play its part, making the most of our time at home, keeping active and engaged.
Linux CandyLinux Candy reveals the lighter side of Linux. Have some fun and escape from the daily drudgery.
DockerGetting Started with Docker helps you master Docker, a set of platform as a service products that delivers software in packages called containers.
Android AppsBest Free Android Apps. We showcase free Android apps that are definitely worth downloading. There's a strict eligibility criteria for inclusion in this series.
Programming BooksThese best free books accelerate your learning of every programming language. Learn a new language today!
Programming TutorialsThese free tutorials offer the perfect tonic to our free programming books series.
Linux Around The WorldLinux Around The World showcases usergroups that are relevant to Linux enthusiasts. Great ways to meet up with fellow enthusiasts.
Stars and StripesStars and Stripes is an occasional series looking at the impact of Linux in the USA.
Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Inline Feedbacks
View all comments