Bacula is a set of computer programs that permits you (or the
system administrator) to manage backup, recovery, and
verification of computer data across a network of computers of
different kinds. Bacula can also run entirely upon a single
computer, and can backup to various types of media, including
tape and disk.
In technical terms, it is a network Client/Server based backup
program. Bacula is relatively easy to use and efficient, while
offering many advanced storage management features that make it
easy to find and recover lost or damaged files. Due to its
modular design, Bacula is scalable from small single computer
systems to systems consisting of hundreds of computers located
over a large network.
Bacula has been compiled and run on Linux RedHat, FreeBSD, and
It requires GNU C++ version 2.95 or higher to compile. You can
try with other compilers and older versions, but you are on your
own. We have successfully compiled and used Bacula on RH8.0/RH9/RHEL
3.0/FC3 with GCC 3.4. Note, in general GNU C++ is a separate
package (e.g. RPM) from GNU C, so you need them both loaded. On
RedHat systems, the C++ compiler is part of the gcc-c++ rpm
There are certain third party packages that Bacula needs. Except
for MySQL and PostgreSQL, they can all be found in the depkgs
and depkgs1 releases.
If you want to build the Win32 binaries, you will need a
Microsoft Visual C++ compiler (or Visual Studio). Although all
components build (console has some warnings), only the File
daemon has been tested.
Bacula requires a good implementation of pthreads to work. This
is not the case on some of the BSD systems.
The source code has been written with portability in mind and is
mostly POSIX compatible. Thus porting to any POSIX compatible
operating system should be relatively easy.
The GNOME Console program is developed and tested under GNOME
2.x. It also runs under GNOME 1.4 but this version is deprecated
and thus no longer maintained.
The wxWidgets Console program is developed and tested with the
latest stable ANSI or Unicode version of wxWidgets (2.6.1). It
works fine with the Windows and GTK+-2.x version of wxWidgets,
and should also work on other platforms supported by wxWidgets.
The Tray Monitor program is developed for GTK+-2.x. It needs
Gnome less or equal to 2.2, KDE greater or equal to 3.1 or any
window manager supporting the FreeDesktop system tray standard.
If you want to enable command line editing and history, you will
need to have /usr/include/termcap.h and either the termcap or
the ncurses library loaded (libtermcap-devel or ncurses-devel).
If you want to use DVD as backup medium, you will need to
download the dvd+rw-tools 18.104.22.168.8, apply the patch to make
these tools compatible with Bacula, then compile and install
them. Do not use the dvd+rw-tools provided by your distribution,
they will not work with Bacula.
Supported Operating Systems
Most flavors of Linux (Gentoo, SuSE, Mandriva, Debian, ...).
Solaris various versions.
FreeBSD (tape driver supported in 1.30 -- please see some
important considerations in the Tape Modes on FreeBSD section of
the Tape Testing chapter of this manual.)
Windows (Win98/Me, WinNT/2K/XP) Client (File daemon) binaries.
MacOS X/Darwin (see http://fink.sourceforge.net/ for obtaining
OpenBSD Client (File daemon).
Irix Client (File daemon).
Bacula is said to work on other systems (AIX, BSDI, HPUX, ...)
but we do not have first hand knowledge of these systems.
RHat 7.2 AS2, AS3, AS4, Fedora Core 2, SuSE SLES 7,8,9 and
Debian Woody and Sarge Linux on S/390 and Linux on zSeries.
See the Porting chapter of the Bacula Developer's Guide for
information on porting to other systems.