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. Installing Bacula 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 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:

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.

MySQL, Linux, Security, MacOSX, CLI, and Backup :: 10 Apr 2007 :: e-mail