Subsections


GUI Programs

List of GUI Programs

This document briefly describes the GUI programs that work with Bacula. The GUI programs that are currently available are:

bat
bat is short for Bacula Administration Tool. It is a GUI form of bconsole, but with many additional features. Although we are still working on adding new features to bat, at this point, it has more features than both bwx-console and the bgnome-console, and over time many additional features will be added, including the functionality of the tray-monitor as well as the reporting capabilities of bweb.

It is very difficult to provide a guide for using bat other than to say to try it. In many of the graphical display "panes" (shown in the right window), you can click with the right mouse button to bring up a context sensitive menu that provides quite a lot of features that can be easily missed.

The Bacula wiki has a number of screenshots of bat.

To build bat, you will need to have Qt4 >= 4.2 loaded (libraries and the devel libraries) as well as the QWT graphics package. Please see the enable-bat section of the Installation chapter of this manual for the details of how to build it.

The major bat features are:

Bat also has a nice online help manual that explains a lot of the interface.

bimagemgr
Bimagemgr is a web based interface written in Perl that monitors disk Volumes intended to be written to CDROM.

For more information on bimagemgr, please see below.

bwx-console
bwx-console is a graphical console interface written in wxWidgets and available on all client platforms. bwx-console allows you to do anything you can do in the standard tty console and in addition has a graphic tree based point and click restore feature.

bgnome-console
The bgnome-console is a graphical console interface available on systems that support GNOME 2.x. Although it runs in its own graphical window and permits all the standard console commands, it has almost no additional graphical features implemented.

For more information on bgnome-console, please consult the Console Chapter of this manual.

tray-monitor
The tray-monitor is a daemon monitoring program that resides in the system tray on GNOME and KDE systems. It is a monitor program that will show you the status of any daemon. It is not a program for interfacing to the console.

For more information, please see Configuring the Monitor Program chapter this manual.

bweb
Bweb is a perl based web program that provides a tool to do basic operations and get statistics. (it requires Bacula >= 1.39) It obtains its information from your catalog database and the bconsole program.

Some of its major features are the following:

  1. Follow, in real time, job progression (with client status and job log)
  2. See Pool/Media occupation
  3. Update volume parameters
  4. Manage locations (with a workflow to move in/out media)
  5. Get statistics about jobs (file number, job size, job duration)
  6. Run a new job
  7. Manage your autochanger (put cartridge on I/O, empty I/O slots with free slots, etc.)
  8. Works with both PostgreSQL and MySQL
  9. Works correctly under Mozilla and Firefox

Please, read the INSTALL file in the bweb source directory for detailed instructions on getting it to work.

brestore
Brestore is a graphical restoration interface available on systems that support Perl/GTK/Glade. (it requires Bacula >= 1.38) It has the following features:

  1. Direct SQL access to the database for good performance
  2. Fast Time Navigation (switch almost instantaneously between the different versions of a directory, by changing the date from a list)
  3. Possibility to choose a selected file, then browse all its available versions, and directly see if these versions are online in a library or not
  4. Simple restoration by generation of a BSR file
  5. Works with both PostgreSQL and MySQL
  6. Works with bweb to follow job

Please, read README file in the bweb source directory for detailed instructions on getting it to work.

bacula-web
Bacula-web is a php based web program that provides a summarized output of jobs that have already run. It obtains its information from your catalog database. Aside from a nice graphical display, it provides summaries of your jobs, as well as graphs of job usage. This is a fairly high level bacula management tool.

Here are a few points that one user made concerning this tool:

  1. It is web-based so can be accessed from anywhere.
  2. It is "read only". Users can examine the state of the backups but cannot write to anything and therefore can do no damage.
  3. It packs a phenomenal amount of information into a single web-page - that I credit as being very good design!

The documentation for bacula-web can be found in a separate bacula-web document that in the bacula-docs release.


bimagemgr

bimagemgr is a utility for those who backup to disk volumes in order to commit them to CDR disk, rather than tapes. It is a web based interface written in Perl and is used to monitor when a volume file needs to be burned to disk. It requires:

DVD burning is not supported by bimagemgr at this time, but both are planned for future releases.

bimagemgr installation

Installation from tarball: 1. Examine the Makefile and adjust it to your configuration if needed. 2. Edit config.pm to fit your configuration. 3. Do 'make install' as root. 4. Edit httpd.conf and change the Timeout value. The web server must not time out and close the connection before the burn process is finished. The exact value needed may vary depending upon your cd recorder speed and whether you are burning on the bacula server on on another machine across your network. In my case I set it to 1000 seconds. Restart httpd. 5. Make sure that cdrecord is setuid root.

Installation from rpm package:

  1. Install the rpm package for your platform.

  2. Edit /cgi-bin/config.pm to fit your configuration.

  3. Edit httpd.conf and change the Timeout value. The web server must not time out and close the connection before the burn process is finished. The exact value needed may vary depending upon your cd recorder speed and whether you are burning on the bacula server on on another machine across your network. In my case I set it to 1000 seconds. Restart httpd.

  4. Make sure that cdrecord is setuid root.

For bacula systems less than 1.36:

1. Edit the configuration section of config.pm to fit your configuration.

2. Run /etc/bacula/create_cdimage_table.pl from a console on your bacula server (as root) to add the CDImage table to your bacula database.

Accessing the Volume files: The Volume files by default have permissions 640 and can only be read by root. The recommended approach to this is as follows (and only works if bimagemgr and apache are running on the same host as bacula.

For bacula-1.34 or 1.36 installed from tarball -

1. Create a new user group bacula and add the user apache to the group for Red Hat or Mandrake systems. For SuSE systems add the user wwwrun to the bacula group.

2. Change ownership of all of your Volume files to root.bacula

3. Edit the /etc/bacula/bacula startup script and set SD_USER=root and SD_GROUP=bacula. Restart bacula.

Note: step 3 should also be done in /etc/init.d/bacula-sd but released versions of this file prior to 1.36 do not support it. In that case it would be necessary after a reboot of the server to execute '/etc/bacula/bacula restart'.

For bacula-1.38 installed from tarball - 1. Your configure statement should include:

        --with-dir-user=bacula
        --with-dir-group=bacula
        --with-sd-user=bacula
        --with-sd-group=disk
        --with-fd-user=root
        --with-fd-group=bacula

2. Add the user apache to the bacula group for Red Hat or Mandrake systems. For SuSE systems add the user wwwrun to the bacula group.

3. Check/change ownership of all of your Volume files to root.bacula

For bacula-1.36 or bacula-1.38 installed from rpm -

1. Add the user apache to the group bacula for Red Hat or Mandrake systems. For SuSE systems add the user wwwrun to the bacula group.

2. Check/change ownership of all of your Volume files to root.bacula

bimagemgr installed from rpm > 1.38.9 will add the web server user to the bacula group in a post install script. Be sure to edit the configuration information in config.pm after installation of rpm package.

bimagemgr will now be able to read the Volume files but they are still not world readable.

If you are running bimagemgr on another host (not recommended) then you will need to change the permissions on all of your backup volume files to 644 in order to access them via nfs share or other means. This approach should only be taken if you are sure of the security of your environment as it exposes the backup Volume files to world read.

bimagemgr usage

Calling the program in your web browser, e.g. http://localhost/cgi-bin/bimagemgr.pl will produce a display as shown below in Figure 1. The program will query the bacula database and display all volume files with the date last written and the date last burned to disk. If a volume needs to be burned (last written is newer than last burn date) a "Burn" button will be displayed in the rightmost column.

\includegraphics{./bimagemgr1.eps}
Figure 1

Place a blank CDR disk in your recorder and click the "Burn" button. This will cause a pop up window as shown in Figure 2 to display the burn progress.

\includegraphics{./bimagemgr2.eps}
Figure 2

When the burn finishes the pop up window will display the results of cdrecord as shown in Figure 3. Close the pop up window and refresh the main window. The last burn date will be updated and the "Burn" button for that volume will disappear. Should you have a failed burn you can reset the last burn date of that volume by clicking its "Reset" link.

\includegraphics{./bimagemgr3.eps}
Figure 3

In the bottom row of the main display window are two more buttons labeled "Burn Catalog" and "Blank CDRW". "Burn Catalog" will place a copy of your bacula catalog on a disk. If you use CDRW disks rather than CDR then "Blank CDRW" allows you to erase the disk before re-burning it. Regularly committing your backup volume files and your catalog to disk with bimagemgr ensures that you can rebuild easily in the event of some disaster on the bacula server itself.

Kern Sibbald 2009-02-06