A backup server enables one to backup data, files, applications and databases either locally or remotely. It can be a combination of software and hardware technologies that provide storage and retrieval services.
The importance of backups cannot be overemphasized . Systems are bound to fail from time to time and having a good backup solution is very critical to every process in an organization.
There is a good number of best practices when it comes to backups. However, that is beyond the scope of this article. We will just be looking briefly at Bareos backup solution.
Bareos (Backup Archiving Recovery Open Sourced) is a popular open source solution for managing backup, recovery and verification of computer data. It is 100% open source fork of the backup project from bacula.org site.
It can be used across all common operating systems (Linux, UNIX, MacOS & Windows). It supports an ‘Always Incremental Backup’ approach which means that full backups have to be taken only once.
It also comes with a WebUI for administration tasks. Bareos supports compression and encryption both hardware-based and software-based. Due to it’s open features, Bareos can easily be extended using plugins and scripts.
Bareos can scale from single servers to enterprise installations with hundreds of entities.
The basic Bareos setup consists of a control unit, the Backup Director, One or more storage daemons and file daemons on the clients that are to be backed up.
File daemons are responsible for backing up and restoring data on clients. The file daemons run permanently on the clients and carry out instructions from the Director.
The Director is the controller. It contains all the logic and accounts for most of the settings.
The configuration for the Director describes the following:
- All the client systems and how they are addressed
- File set – The files which should be backed up
- Plugin configuration
- What happens before and after jobs for example if there are services to be started or stopped.
- Storage and media pools together with their retention times
- Backup scheduling
- Addresses for messages
Bareos supports three database back ends: MySQL/MariaDB , PostgreSQL and SQLite. However, SQLite should only be limited to test installations. This database is installed separately. Bareos only includes dependencies on database clients. This implementation allows you to run the database from a different server other than the Bareos server itself.
In the default configuration, the backup directory is /var/lib/bareos/storage