🦇Bacula - An introduction🦇#
496 words | 7 min read
Good reliable backups are critical to reducing system down-time, loss of data, productivity and real $$$ (or €€€ or any other currency). There is many a story of companies going out of business and people losing jobs due to bad or non-existent backups. And for many businesses (e.g. FDA-regulated organizations), having backups - for several years too! - is a legal and regulatory requirement.
While my personal need for a backup solution isn’t so critical, or the lack of backups likely to be so catastrophic as for a commercial organization, I still wanted to set up a mechanism to be able to recover my data in the event of a disk failure. It also gives me peace of mind, knowing that I have a backup to fall back on.
Having a good backup (and recovery) strategy is key. And a backup tool is only a part of the overall solution. Irrespective of the backup tool used, you should have a good strategy for backups that you test regularly, and refine. Discussing or defining a backup strategy is beyond the scope of this series of posts. We will instead talk mostly about the tool - Bacula.
If you’re here, chances that you have already heard about Bacula. Bacula is a free software that can backup and more importantly, recover the backed up data when required.
I had a few features that I was looking for, and both Amanda and Bacula checked pretty much every box:
Free (VERY important!)
Reliable (Again, VERY important!)
Stable and time-tested
Secure
Centralized configuration and control
Scheduled unattended backups
Manual backups on demand
Disk-based backup (not just tape-based or cloud-based)
Can backup on various OS’ and Filesystems
Linux
FreeBSD
Windows (including VSS protection)
Online community for help and troubleshooting (this checkbox wasn’t fully checked for me)
Reuse/preserve backup media automatically based on backup retention policy
Encrypted Backups
Encrypted data in transit
Full, differential and incremental backups
Powerful command line tool(s)
GUI (nice to have)
Scalable to any amount of data or computers to be backed up (why not?)
After several days of intense reading (without understanding much) and extensive hair-pulling and teeth-gnashing, I finally settled on (not settled for) Bacula.
The journey has included - as is the case with most self-taught stuff - blood, toil, tears and sweat (well…ok. Fine! No blood), but very rewarding in the end.
In the next few posts, I will try and document the steps needed for a simple backup system using Bacula. The learning curve is steep - because Bacula has so many features, and is so flexible and powerful. But once it’s set up properly, you can pretty much forget about it.
My setup has 3 computers. The OS does not really matter, but I prefer Linux for a lot of this. All the computers will be running Ubuntu (but if you choose to follow along, you can use whatever distribution you prefer).
One computer will be the main computer for running the various components of Bacula.
A second computer is a Web server running Apache
The 3rd computer is a Database Server that runs MariaDB
Let’s get going with Bacula…
Comments
Comments powered by giscus, use a GitHub account to comment.