Inspired by reading about it in Backup & Recovery I’ve been implementing
Bacula in my SOHO. Bacula is a multi-platform backup solution
that supports Unix/Linux, Windows and Mac OS X and which, with a bit of help
from the documentation, is very easy to implement: within a few hours I had a
Bacula server running on my home server and had started backups of a Windows
notebook as well as a Mac OS X client. Bacula is great in that it
- is multi platform
- can encrypt data in transport (TLS)
- can store files on backup media encrypted (PKI)
- can be managed from any Bacula client
- can use almost anything as a device (disk, file, tape, DVD, etc.)
Before going anywhere with Bacula, do read the documentation, notably the
User’s Manual (also as a 700+ page PDF), and familiarize yourself
with Bacula’s terminology. After installing the client and server for my Linux
distribution from here (choose the RPM based on which database back end
you want to use), I first fiddled around a bit, getting to know the files in
/etc/bacula
and then followed the very good tutorial to get a bit
warmer with the setup. I then destroyed the database and re-initialized it in
order to start afresh, and added my first live client, a Windows XP machine.
Installation of Bacula for Windows is a matter of a few clicks, and the
installer asks for passwords, addresses, and names of the Bacula director.
As soon as I’d completed the configuration of the
client (file daemon in Bacula–terminology), I used _ bconsole_ to start a
backup job on the client.
On my Apple Mac I downloaded and unpacked
the source and ran
./configure --enable-client-only --with-openssl --prefix=/usr/local --with-working-dir=/var/bacula/working
make
make install
after which I adjusted name, address and password of the director server in /usr/local/etc/bconsole.conf to allow bconsole to connect to my director. The configuration of the file daemon (client) also needs to be adjusted, so I did that in bacula-fd.conf as well, and I then launched the file daemon with
sudo /usr/local/sbin/bacula-fd
If you want bacula-fd to launch upon system startup (I do), follow the simple instructions in Bacula for OSX. After adding my Mac to bacula- dir.conf I started backing it up. The first productional backup job was a success:
*messages
06-Apr 20:47 mens-sd: Job write elapsed time = 03:16:30, Transfer rate = 4.721 M bytes/second
06-Apr 20:47 mens-dir: Bacula 2.0.3 (06Mar07): 06-Apr-2007 20:47:22
JobId: 1
Job: jmac.2007-04-06_17.30.40
Backup Level: Full (upgraded from Incremental)
Client: "jmac-fd" 2.0.3 (06Mar07) powerpc-apple-darwin8.8.0,darwin,8.8.0
FileSet: "JmacOnly" 2007-04-06 17:30:40
Pool: "Default" (From Job resource)
Storage: "File" (From Job resource)
Scheduled time: 06-Apr-2007 17:30:37
Start time: 06-Apr-2007 17:30:43
End time: 06-Apr-2007 20:47:22
Elapsed time: 3 hours 16 mins 39 secs
Priority: 10
FD Files Written: 130,894
SD Files Written: 130,894
FD Bytes Written: 55,649,021,181 (55.64 GB)
SD Bytes Written: 55,669,122,267 (55.66 GB)
Rate: 4716.4 KB/s
Software Compression: 4.6 %
VSS: no
Encryption: no
Volume name(s): t001
Volume Session Id: 1
Volume Session Time: 1175873421
Last Volume Bytes: 55,714,958,991 (55.71 GB)
Non-fatal FD errors: 0
SD Errors: 0
FD termination status: OK
SD termination status: OK
Termination: Backup OK
I’ve tweaked the schedules a bit so that my laptop only gets backed up when I’m actually at home, but otherwise Bacula works as advertised. I’ll be monitoring the jobs a bit (Bacula sends mail after a job has completed) to ensure that all is working as I want it to, but otherwise the program certainly takes care of all my demands of a backup system, and it is free to use. Bacula has a good reputation so far, and it is also used by large organizations. For a bit more information on Bacula, I recommend an Onlamp article titled Bacula: Cross-Platform Client-Server Backups.