Subsections
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:
- Graphical features
- Undockable (floating) windows of all interfaces.
- Page selector for deciding and finding interfaces to view.
- Console command window for entering standard text console
commands.
- A preferences interface for listing limits and debugging.
- Graphical console
- A console to perform all the commands available from bconsole.
- Graphical restoring
- High performance restore of backup with GUI tree browsing and file and
directory selecting. Pre-restore Interface to assist in selecting jobs for
this restore method.
- Restore by browsing and selecting from all cataloged versions of files. This
method allows for Multiple simultaneous views of catalog data. The only
selection limitation for this browsing method is one client at a time.
- Graphical listing Interfaces
- List the backup jobs that have run. ** see details below
- List the clients and perform 4 commands on the client within context.
- List the Filesets
- List the Job resources and perform 8 commands on the job within context.
- List the Pools and the volumes in each pool. Perform 7 different commands on
each media.
- List the storage resources and perform any of 5 commands on the storage
resource.
- Graphical Media Management
- Modify Volume parameters
- Label a new volume
- Relabel an existing volume
- Select jobs on a volume in Job List directly from media interface
- Delete a Volume
- Purge Jobs on volume
- Update Volume Parameters from Pool Parameters
- Graphical Graphing
- Interface to plot the files and bytes of backup jobs.
- Other Graphical interfaces:
- Open the cataloged Log messages of a job that has run
- Run a job manually and modify job defaults before running.
- Estimate a job. Determine the files and bytes that would be backed up if
the job were run now.
- JobList features
- As many joblist windows at a time as desired.
- Nine different selection criterion: client, volume, job, Fileset, level, status,
purged or not, record limit and days limit
- Lists the 11 most commonly desired job attributes.
- Run the following console commands by issuing the command within the context
of the know job number: List job, list files on job, list jobmedia, list
volumes, delete job and purge files.
- Open other interfaces knowing the jobid: show the cataloged log of the running
of the job, restore from that job only browsing the filestructure, restore
from the job end time to get the most recent version of a restore after the
job completed running and browse the combined filestucture, jump directly
to view a plot of the selected jobs files and bytes backed up.
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:
- Follow, in real time, job progression (with client status and job log)
- See Pool/Media occupation
- Update volume parameters
- Manage locations (with a workflow to move in/out media)
- Get statistics about jobs (file number, job size, job duration)
- Run a new job
- Manage your autochanger (put cartridge on I/O, empty I/O
slots with free slots, etc.)
- Works with both PostgreSQL and MySQL
- 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:
- Direct SQL access to the database for good performance
- Fast Time Navigation (switch almost instantaneously between the
different versions of a directory, by changing the date from a list)
- 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
- Simple restoration by generation of a BSR file
- Works with both PostgreSQL and MySQL
- 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:
- It is web-based so can be accessed from anywhere.
- It is "read only". Users can examine the state of the backups but
cannot
write to anything and therefore can do no damage.
- 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:
- A web server running on the bacula server
- A CD recorder installed and configured on the bacula server
- The cdrtools package installed on the bacula server.
- perl, perl-DBI module, and either DBD-MySQL DBD-SQLite or DBD-PostgreSQL modules
DVD burning is not supported by bimagemgr at this
time, but both are planned for future releases.
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:
- Install the rpm package for your platform.
- Edit /cgi-bin/config.pm to fit your configuration.
- 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.
- 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.
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.
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.
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.
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