Next: System Requirements
Up: Bacula User's Guide
Previous: What is Bacula?
Contents
Index
Subsections
The Current State of Bacula
In other words, what is and what is not currently implemented and functional.
- Network backup/restore with centralized Director.
- Internal scheduler for automatic
Job execution.
- Scheduling of multiple Jobs at the same time.
- You may run one Job at a time or multiple simultaneous Jobs.
- Job sequencing using priorities.
- Restore of one or more files selected interactively either for the
current backup or a backup prior to a specified time and date.
- Restore of a complete system starting from bare metal. This is mostly
automated for Linux systems and partially automated for Solaris. See
Disaster Recovery Using Bacula. This is also
reported to work on Win2K/XP systems.
- Listing and Restoration of files using stand-alone bls and bextract tool programs. Among other things, this permits extraction of files
when Bacula and/or the catalog are not available. Note, the recommended way
to restore files is using the restore command in the Console. These programs
are designed for use as a last resort.
- Ability to recreate the catalog database by scanning backup Volumes
using the bscan program.
- Console interface to the Director allowing complete
control. A shell, GNOME GUI and wxWidgets GUI versions of the Console program
are available. Note, the GNOME GUI program currently offers very few
additional features over the shell program.
- Verification of files previously cataloged, permitting a Tripwire like
capability (system break-in detection).
- CRAM-MD5 password authentication between each component (daemon).
- A comprehensive and extensible
configuration file for each daemon.
- Catalog database facility for remembering Volumes, Pools, Jobs, and
Files backed up.
- Support for SQLite, PostgreSQL, and MySQL Catalog databases.
- User extensible queries to the SQLite, PostgreSQL and MySQL databases.
- Labeled Volumes, preventing accidental overwriting (at least by
Bacula).
- Any number of Jobs and Clients can be backed up to a single Volume.
That is, you can backup and restore Linux, Unix, Sun, and Windows machines to
the same Volume.
- Multi-volume saves. When a Volume is full, Bacula automatically
requests the next Volume and continues the backup.
- Pool and Volume library management
providing Volume flexibility (e.g. monthly, weekly, daily Volume sets, Volume
sets segregated by Client, ...).
- Machine independent Volume data format. Linux, Solaris, and Windows
clients can all be backed up to the same Volume if desired.
- A flexible
message handler including routing
of messages from any daemon back to the Director and automatic email
reporting.
- Multi-threaded implementation.
- Programmed to handle arbitrarily long filenames and messages.
- GZIP compression on a file by file basis done by the Client program if
requested before network transit.
- Computation of MD5 or SHA1 signatures of the file data if requested.
- Saves and restores POSIX ACLs if enabled.
- Autochanger support using a simple shell interface that can interface
to virtually any autoloader program. A script for mtx is provided.
- Support for autochanger barcodes - automatic tape labeling from
barcodes.
- Automatic support for multiple autochanger magazines either using
barcodes or by reading the tapes.
- Raw device backup/restore. Restore must be to the same device.
- All Volume blocks (approx 64K bytes) contain a data checksum.
- Access control lists for Consoles that permit restricting user access
to only their data.
- Data spooling to disk during backup with subsequent write to tape from
the spooled disk files. This prevents tape ``shoe shine'' during
Incremental/Differential backups.
- Support for save/restore of files larger than 2GB.
- Support for 64 bit machines, e.g. amd64.
- Ability to encrypt communications between daemons using stunnel.
- Since there is a client for each machine, you can backup
and restore clients of any type ensuring that all attributes
of files are properly saved and restored.
- It is also possible to backup clients without any client
software by using NFS or Samba. However, if possible, we
recommend running a Client File daemon on each machine to be
backed up.
- Bacula handles multi-volume backups.
- A full comprehensive SQL standard database of all files backed up. This
permits online viewing of files saved on any particular Volume.
- Automatic pruning of the database (removal of old records) thus
simplifying database administration.
- Any SQL database engine can be used making Bacula very flexible.
- The modular but integrated design makes Bacula very scalable.
- Since Bacula uses client file servers, any database or
other application can be properly shutdown by Bacula using the
native tools of the system, backed up, then restarted (all
within a Bacula Job).
- Bacula has a built-in Job scheduler.
- The Volume format is documented and there are simple C programs to
read/write it.
- Bacula uses well defined (registered) TCP/IP ports - no rpcs, no
shared memory.
- Bacula installation and configuration is relatively simple compared to
other comparable products.
- According to one user Bacula is as fast as the big major commercial
application.
- According to another user Bacula is four times as fast as another
commercial application, probably because that application stores its catalog
information in a large number of individual files rather than an SQL database
as Bacula does.
- Aside from a GUI administrative interface, Bacula has a
comprehensive shell administrative interface, which allows the
adminstrator to use tools such as ssh to administrate any part of
Bacula from anywhere (even from home).
- Bacula has a Rescue CD for Linux systems with the following features:
- You build it on your own system from scratch with one simple command:
make - well, then make burn.
- It uses your kernel
- It captures your current disk parameters and builds scripts that allow
you to automatically repartition a disk and format it to put it back to what
you had before.
- It has a script that will restart your networking (with the right IP
address)
- It has a script to automatically mount your hard disks.
- It has a full Bacula FD statically linked
- You can easily add additional data/programs, ... to the disk.
- It doesn't currently support ANSI and IBM tape labels.
- Typical of Microsoft, not all files can always be saved on WinNT, Win2K
and WinXP when they are in use by another program. Anyone knowing the magic
incantations please step forward. The files that are skipped seem to be in
exclusive use by some other process, and don't appear to be too important.
- Unicode filenames (e.g. Chinese) cannot be saved or restored. This
appears to be a problem only on Mac machines that are using remote mounted
Windows volumes.
- If you have over 4 billion file entries stored in your database, the
database FileId is likely to overflow. This is a monster database, but still
possible. At some point, Bacula's FileId fields will be upgraded from 32 bits
to 64 bits and this problem will go away. In the mean time, a good workaround
is to use multiple databases.
- Files deleted after a Full save will be included in a restoration.
- Event handlers are not yet implemented (e.g. when Job terminates do
this, ...)
- File System Modules (configurable routines for saving/restoring special
files).
- Data encryption of the Volume contents.
- Bacula cannot automatically restore files for a single Job
from two or more different storage devices or different media types.
That is, if you use more than one storage device or media type to
backup a single job, the restore process will require some manual
intervention.
- There is no concept of a Pool of backup devices (i.e. if device
/dev/nst0 is busy, use /dev/nst1, ...).
- Names (resource names, Volume names, and such) defined in Bacula
configuration files are limited to a fixed number of characters. Currently
the limit is defined as 127 characters. Note, this does not apply to
filenames, which may be arbitrarily long.
Next: System Requirements
Up: Bacula User's Guide
Previous: What is Bacula?
Contents
Index
2005-06-01