Bareos (Backup Archiving Recovery Open
Sourced) is a cross-network, open-source
backup solution that preserves, archives and recovers data from all major
operating systems. The Bareos project started 2010 as a Bacula fork and is now
being developed under the AGPLv3 license.
The client/server-based backup solution is actually a set of computer programs
(Figure 1) that communicate over the network: the Bareos Director (BD), one or
more Storage Dæmons (SD) and the File Dæmons (FD). Due to this modular
design, Bareos is scalable—from single computer systems (where all
components run on one machine) to large infrastructures with hundreds of
computers (even in different geographies).
Figure 1. A Typical Bareos Setup: Director (with Database), File Dæmon(s),
Storage Dæmon(s) and Backup Media
The director is the central control unit for all other dæmons. It manages the
database (catalog), the connected clients, the file sets (they define which
data Bareos should back up), the configuration of optional plugins, before and
after jobs (programs to be executed before or after a backup job), the storage
and media pool, schedules and the backup jobs. Bareos Director runs as a
The catalog maintains a record of all backup jobs, saved files and volumes
used. Current Bareos versions support PostgreSQL, MySQL and SQLite, with
PostgreSQL being the preferred database back end.
The File Dæmon (FD) must be installed on every client machine. It is
responsible for the backup as well as the restore process. The FD receives the
director’s instructions, executes them and transmits the data to the Bareos
Storage Dæmon. Bareos offers pre-packed file dæmons for many popular
operating systems, such as Linux, FreeBSD, AIX, HP-UX, Solaris, Windows and macOS.
Like the director, the FD runs as a dæmon in the background.
The Storage Dæmon (SD) receives data from one or more File Dæmons (at the
director’s request). It stores the data (together with the file attributes) on
the configured backup medium. Bareos supports various types of backup media, as
shown in Figure 1, including disks, tape drives and even cloud storage
solutions. During the restore process, the SD is responsible for sending the
correct data back to the FD(s). The Storage Dæmon runs as a dæmon on the
machine handling the backup device(s).
A backup job defines what to back up (
FileSet directive for the client), when
to back up (schedule) and where to back up (for example, on a disk, tape, etc.).
Bareos is quite flexible, and you can mix different directives. So you can have
different job definitions (resources), backing up different machines, but using
the same schedule, the same
FileSet and even the same backup medium.
The schedule describes what kind of backup (full, incremental or differential)
runs on different days of the week or month. If more than one backup job relies
on the same schedule, it’s possible to set the job priority and tell
Bareos which job is supposed to run first. Additionally, there are restore,
verify and admin jobs.
bconsole and WebUI
The Bareos configuration is stored in text files. In order to communicate with
the director, administrators (and other authorized users) can use the
command-line tool Bareos Console (
bconsole). The shell interface allows you to
query Bareos’ state, determine the status of a particular job, examine the
contents of the database and run jobs manually.
You can run
bconsole basically anywhere on your network—it doesn’t have to
be the BD machine. Since Bareos Console is a shell interface, it also works via
The Bareos WebUI (Figure 2) has been part of the backup solution since version
15.2.0. The multilingual web interface can access multiple directors and
catalogs. Its main purpose is to monitor the backup software, but it’s also
possible to start, cancel or rerun jobs. You can use the WebUI to restore
files (even to a different client) and browse through a file tree of backup
Figure 2. The Bareos WebUI allows users to monitor the backup solution as well
as restore their data.
Bareos values security and safety and supports transport encryption as well as
data encryption. The software uses TLS (Transport Layer Security) for all
network connections. On top of that, it’s possible to encrypt and sign the data
on the File Dæmon before the backup is sent to the Storage Dæmon.
Encryption and signing are implemented using RSA private keys coupled with
self-signed X.509 certificates (PKI, Public Key Infrastructure).
You can extend Bareos’ functionality by adding plugins to the director, FD and
SD. For example, there are LDAP plugins, plugins to back up and restore various
database back ends (PGSQL, MySQL, MSSQL), extensions for GlusterFS and Ceph
filesystem, and a VMware plugin for agentless backups of virtual machines
running on VMware vSphere. The bpipe plugin is a generic pipe program that
simply transmits the data from a specified program to Bareos and back.
Documentation and Support
For more information on Bareos, please have a look at the official
documentation. There are also two
mailing lists: bareos-users
(for users, for help
from the community) and bareos-devel
(for developers, for discussions on how to modify
the Bareos code). The source code is available in the Bareos GitHub repository.
The Bareos download
servers offer packages for all major operating systems
(stable Bareos version only). Subscription customers can get access to
repositories with maintenance and bug-fix releases. The company Bareos GmbH
Co. KG (located in Cologne, Germany) also offers professional support.
—Heike Jurzik and Maik Aussendorf
>> Source Link