cloudparts

Bacula

A client-server backup system for networks of mixed machines: a central Director schedules jobs, agents on each machine send files to storage daemons that write disk or tape volumes, and a SQL catalog records where every file went.

Type
Open source
Made by
Kern Sibbald and the Bacula community (commercial edition from Bacula Systems)
License
AGPL-3.0
Facts checked
24 October 2026

What it is

Bacula splits backup into separate daemons that usually run on different machines. The Director holds the configuration and the schedule and starts each job. A File daemon on every machine to be backed up reads the files the Director asks for and sends them to a Storage daemon, which runs next to the backup device and writes them to volumes: tapes, tape libraries or files on disk. The Director records each job, each volume and each saved file in a catalog kept in PostgreSQL, MySQL or SQLite, and you talk to it through a console, in text or a GUI.

Jobs are written as resources in plain-text configuration files: a Job ties together a Client, a FileSet (what to include and exclude), a Schedule, a Storage device and a Pool, the set of volumes that job may write to. Levels are Full, Differential and Incremental, plus VirtualFull, which builds a new full backup from earlier ones on the storage side without reading the client again. Because the catalog knows which volume holds which version of each file, a restore lets you pick files from any job and asks only for the volumes it needs. Volumes are reused under retention and recycling rules; Bacula treats overwriting a volume as a last resort.

The community edition at bacula.org is free software; Bacula Systems, founded in 2008, sells Bacula Enterprise with extra plugins and support. Version 15.0 added an Amazon S3 cloud driver, a Kubernetes plugin, encryption in the Storage daemon and malware detection on backed-up files.

Why teams pick it

  • Built for many machines: one Director schedules jobs for clients on Linux, Unix and Windows and sends them to shared storage
  • Real tape support, including tape libraries, alongside disk and cloud volumes
  • The SQL catalog tracks every file in every job, so you can find and restore one file from any backup without scanning volumes
  • Mature and widely packaged: developed since 2000, with a commercial edition and paid support if you need them

Watch out for

  • Hard to set up: the project itself says it is “much more difficult to setup and use than tar or dump” for people new to Unix or to backup software
  • Four parts must all be configured and running for a backup to work: Director, File daemon, Storage daemon and catalog database
  • Classic full, differential and incremental chains instead of content-defined deduplication; a restore can need a full backup plus every later piece
  • Some features, such as NDMP for filers and several application plugins, are only in the commercial Bacula Enterprise

Alternatives

What all backup & restore have in common →Compare side by side →

How it fits with other technologies

bacula-dir.conf: a nightly job, its file set and its schedule (from the manual) · text

Job {
  Name = "NightlySave"
  Type = Backup
  Level = Incremental                 # default
  Client = rufus-fd
  FileSet = "Full Set"
  Schedule = "WeeklyCycle"
  Storage = DLTDrive
  Messages = Standard
  Pool = Default
}

FileSet {
  Name = "Full Set"
  Include {
    Options { signature = SHA1 }
    File = /
  }
  Exclude {}
}

Schedule {
  Name = "WeeklyCycle"
  Run = level=Full sun at 2:05
  Run = level=Incremental mon-sat at 2:05
}

See it in a real stack

No architecture uses Bacula yet. Drop it into the playground and wire it up yourself.Open playground →

Worth exploring

Article· January 202615 open source backup solutions to protect your data in 2026Don Watkins, All Things OpenA short survey of 15 open-source backup tools in three groups: network and command-line tools (Amanda, BackupPC, Bacula, BorgBackup, Rclone, restic), desktop tools (Back In Time, Déjà Dup, Duplicati, Timeshift, UrBackup and others), and newer options (Kopia, Syncthing), each with one line and its licence. Good for finding names to look into; it doesn’t compare them in depth.
All resources →
Where it came from2000–2025

Kern Sibbald, who had worked full time on free software since 1999, starting with the UPS daemon apcupsd, began Bacula in January 2000. The first public release, version 1.16, went to SourceForge on April 14, 2002. Its documentation pitches it at people who use tar, dump or bru and want network support, more flexibility or a catalog of what was saved.

From 2006 to March 2015 the Free Software Foundation Europe acted as fiduciary for the developers’ copyrights. In October 2008 Bacula Systems SA was set up to provide commercial support. Two forks followed: Burp, a “friendly fork” released in 2011 by former community developer Graham Keeling, and Bareos, released in February 2013 by another former community developer and other free software users.

The community edition kept a steady release cycle: 9.0 in 2017, 11.0 in 2021, 13.0 in 2022, and 15.0 in 2024 with cloud and Kubernetes support and security work such as Storage daemon encryption and volume protection. The current stable line is 15.0.x, released under the AGPLv3.

Why it’s built this way

Separate daemons for control, clients and storage
Splitting the Director, File daemon and Storage daemon lets one server schedule jobs for hundreds of machines while the tape drive or disk sits wherever it is attached.
A SQL catalog of every file
Recording jobs, volumes and files in a database lets an administrator find which volume holds a given version of a file and restore just that, instead of reading tapes in order.
Reuse media only as a last resort
Bacula is designed not to overwrite whatever tape is in the drive; volumes are recycled only under explicit retention rules, so a careless tape swap doesn’t destroy a backup.

Timeline

  1. 2000

    Kern Sibbald starts the project in January

  2. 2002

    First public release, 1.16, on SourceForge on April 14

  3. 2007

    Bacula 2.0

  4. 2008

    Bacula Systems SA founded to offer commercial support

  5. 2013

    Bareos released as a fork in February

  6. 2024

    Bacula 15.0 adds an S3 cloud driver and a Kubernetes plugin

  7. 2025

    Bacula 15.0.3, the current stable release, in March

Sources6 · facts checked 24 October 2026

Improve this page on GitHub