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 Solaris systems.
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 package.
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 22.214.171.124.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 the packages)
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.