\index[general]{Bacula!What is }
\index[general]{What is Bacula? }
-{\bf Bacula} is a set of computer programs that permits you (or the system
-administrator) to manage backup, recovery, and verification of computer data
+Bacula is a set of computer programs that permits 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
+upon a single computer and can backup to various types of media, including tape
and disk.
In technical terms, it is a
\index[general]{Who Needs Bacula? }
\index[general]{Bacula!Who Needs }
-If you are currently using a program such as {\bf tar}, {\bf dump}, or {\bf
-bru} to backup your computer data, and you would like a network solution, more
+If you are currently using a program such as tar, dump, or
+bru to backup your computer data, and you would like a network solution, more
flexibility, or catalog services, Bacula will most likely provide the
additional features you want. However, if you are new to Unix systems or do
-not have offsetting experience with a sophisticated backup package, we do not
-recommend using Bacula as it is much more difficult to setup and use than {\bf
-tar} or {\bf dump}.
+not have offsetting experience with a sophisticated backup package, the Bacula project does not
+recommend using Bacula as it is much more difficult to setup and use than
+tar or dump.
If you want Bacula to behave like the above mentioned simple
programs and write over any tape that you put in the drive, then you will find
over any tape in the drive, but it is easier and more efficient to use a
simpler program for that kind of operation.
-If you are running {\bf Amanda} and would like a backup program that can write
+If you are running Amanda and would like a backup program that can write
to multiple volumes (i.e. is not limited by your tape drive capacity), Bacula
-can most likely fill your needs. In addition, quite a number of our users
+can most likely fill your needs. In addition, quite a number of Bacula users
report that Bacula is simpler to setup and use than other equivalent programs.
If you are currently using a sophisticated commercial package such as Legato
Networker. ARCserveIT, Arkeia, or PerfectBackup+, you may be interested in
-Bacula, which provides many of the same features, and is free software
+Bacula, which provides many of the same features and is free software
available under the GNU Version 2 software license.
\section{Bacula Components or Services}
\index[general]{Bacula Components or Services }
\index[general]{Services!Bacula Components or }
-Bacula is made up of the following five major components or services:
+Bacula is made up of the following five major components or services:
+Director, Console, File, Storage, and Monitor services.
+
\addcontentsline{lof}{figure}{Bacula Applications}
\includegraphics{./bacula-applications.eps}
(thanks to Aristedes Maniatis for this graphic and the one below)
+% TODO: move the thanks to Credits section in preface
-\begin{itemize}
-\item
+\subsection*{Bacula Director}
\label{DirDef}
- {\bf Bacula Director} service consists of the program that supervises
+ The Bacula Director service is the program that supervises
all the backup, restore, verify and archive operations. The system
administrator uses the Bacula Director to schedule backups and to
recover files. For more details see the Director Services Daemon Design
Document in the Bacula Developer's Guide. The Director runs as a daemon
- or a service (i.e. in the background).
-\item
+ (or service) in the background.
+% TODO: tell reader where this Developer's Guide is at?
\label{UADef}
- {\bf Bacula Console} services is the program that allows the
- administrator or user to communicate with the {\bf Bacula Director} (see
- above). Currently, the Bacula Console is available in three versions.
+
+\subsection*{Bacula Console}
+
+ The Bacula Console service is the program that allows the
+ administrator or user to communicate with the Bacula Director
+ Currently, the Bacula Console is available in three versions:
+ text-based console interface, GNOME-based interface, and a
+ wxWidgets graphical interface.
The first and simplest is to run the Console program in a shell window
(i.e. TTY interface). Most system administrators will find this
completely adequate. The second version is a GNOME GUI interface that
of the shell console, allows command completion with tabulation, and
gives you instant help about the command you are typing. For more
details see the \ilink{Bacula Console Design Document}{_ConsoleChapter}.
-\item
+
+\subsection*{Bacula File}
\label{FDDef}
- {\bf Bacula File} services (or Client program) is the software program
- that is installed on the machine to be backed up. It is specific to the
+ The Bacula File service (also known as the Client program) is the software
+ program that is installed on the machine to be backed up.
+ It is specific to the
operating system on which it runs and is responsible for providing the
file attributes and data when requested by the Director. The File
services are also responsible for the file system dependent part of
restoring the file attributes and data during a recovery operation. For
more details see the File Services Daemon Design Document in the Bacula
Developer's Guide. This program runs as a daemon on the machine to be
- backed up, and in some of the documentation, the File daemon is referred
- to as the Client (for example in Bacula's configuration file). In
- addition to Unix/Linux File daemons, there is a Windows File daemon
+ backed up.
+ In addition to Unix/Linux File daemons, there is a Windows File daemon
(normally distributed in binary format). The Windows File daemon runs
on current Windows versions (NT, 2000, XP, 2003, and possibly Me and
98).
-\item
+% TODO: maybe do not list Windows here as that is listed elsewhere
+% TODO: remove "possibly"?
+% TODO: mention Vista?
+
+\subsection*{Bacula Storage}
\label{SDDef}
- {\bf Bacula Storage} services consist of the software programs that
+ The Bacula Storage services consist of the software programs that
perform the storage and recovery of the file attributes and data to the
physical backup media or volumes. In other words, the Storage daemon is
responsible for reading and writing your tapes (or other storage media,
Document in the Bacula Developer's Guide. The Storage services runs as
a daemon on the machine that has the backup device (usually a tape
drive).
-\item
+% TODO: may switch e.g. to "for example" or "such as" as appropriate
+% TODO: is "usually" correct? Maybe "such as" instead?
+
+\subsection*{Catalog}
\label{DBDefinition}
- {\bf Catalog} services are comprised of the software programs
+ The Catalog services are comprised of the software programs
responsible for maintaining the file indexes and volume databases for
- all files backed up. The Catalog services permit the System
- Administrator or user to quickly locate and restore any desired file.
+ all files backed up. The Catalog services permit the system
+ administrator or user to quickly locate and restore any desired file.
The Catalog services sets Bacula apart from simple backup programs like
tar and bru, because the catalog maintains a record of all Volumes used,
all Jobs run, and all Files saved, permitting efficient restoration and
Volume management. Bacula currently supports three different databases,
MySQL, PostgreSQL, and SQLite, one of which must be chosen when building
- {\bf Bacula}.
+ Bacula.
The three SQL databases currently supported (MySQL, PostgreSQL or
SQLite) provide quite a number of features, including rapid indexing,
- arbitrary queries, and security. Although we plan to support other
+ arbitrary queries, and security. Although the Bacula project plans to support other
major SQL databases, the current Bacula implementation interfaces only
to MySQL, PostgreSQL and SQLite. For the technical and porting details
see the Catalog Services Design Document in the developer's documented.
- The RPMs for MySQL and PostgreSQL ship as part of Red Hat Linux and
- several other releases. Alternatively, building the rpms from the
+ The packages for MySQL and PostgreSQL are available for several operating
+ systems.
+ Alternatively, installing from the
source is quite easy, see the \ilink{ Installing and Configuring
MySQL}{MySqlChapter} chapter of this document for the details. For
more information on MySQL, please see:
Configuring and building SQLite is even easier. For the details of
configuring SQLite, please see the \ilink{ Installing and Configuring
SQLite}{SqlLiteChapter} chapter of this document.
-\item
+
+\subsection*{Bacula Monitor}
\label{MonDef}
- {\bf Bacula Monitor} services is the program that allows the
- administrator or user to watch current status of {\bf Bacula Directors},
- {\bf Bacula File Daemons} and {\bf Bacula Storage Daemons} (see above).
- Currently, only a GTK+ version is available, which works with Gnome and
- KDE (or any window manager that supports the FreeDesktop.org system tray
- standard). \end{itemize}
+ A Bacula Monitor service is the program that allows the
+ administrator or user to watch current status of Bacula Directors,
+ Bacula File Daemons and Bacula Storage Daemons
+ Currently, only a GTK+ version is available, which works with Gnome,
+ KDE, or any window manager that supports the FreeDesktop.org system tray
+ standard.
To perform a successful save or restore, the following four daemons must be
configured and running: the Director daemon, the File daemon, the Storage
- daemon, and MySQL, PostgreSQL or SQLite.
+ daemon, and the Catalog service (MySQL, PostgreSQL or SQLite).
\section{Bacula Configuration}
\index[general]{Configuration!Bacula }
\index[general]{Bacula Configuration }
In order for Bacula to understand your system, what clients you want backed
-up, and how, you must create a number of configuration files containing
+up and how, you must create a number of configuration files containing
resources (or objects). The following presents an overall picture of this:
\addcontentsline{lof}{figure}{Bacula Objects}
\index[general]{Conventions Used in this Document }
\index[general]{Document!Conventions Used in this }
-{\bf Bacula} is in a state of evolution, and as a consequence, this manual
+Bacula is in a state of evolution, and as a consequence, this manual
will not always agree with the code. If an item in this manual is preceded by
an asterisk (*), it indicates that the particular feature is not implemented.
If it is preceded by a plus sign (+), it indicates that the feature may be
partially implemented.
+% TODO: search for plus sign and asterisk and "IMPLEMENTED" and fix for printed book
If you are reading this manual as supplied in a released version of the
software, the above paragraph holds true. If you are reading the online
mind that this version describes the current version in development (in the
CVS) that may contain features not in the released version. Just the same, it
generally lags behind the code a bit.
+% TODO: is this still true? there are separate websites
\section{Quick Start}
\index[general]{Quick Start }
\index[general]{Start!Quick }
-To get Bacula up and running quickly, we recommend that you first scan the
+To get Bacula up and running quickly, the author recommends
+that you first scan the
Terminology section below, then quickly review the next chapter entitled
\ilink{The Current State of Bacula}{StateChapter}, then the
\ilink{Getting Started with Bacula}{QuickStartChapter}, which will
\section{Terminology}
\index[general]{Terminology }
-To facilitate communication about this project, we provide here the
-definitions of the terminology that we use.
-
\begin{description}
\item [Administrator]
\item [Backup]
\index[fd]{Backup }
- We use the term {\bf Backup} to refer to a Bacula Job that saves files.
+ The term Backup refers to a Bacula Job that saves files.
\item [Bootstrap File]
\index[fd]{Bootstrap File }
The bootstrap file is an ASCII file containing a compact form of
commands that allow Bacula or the stand-alone file extraction utility
- ({\bf bextract}) to restore the contents of one or more Volumes, for
+ (bextract) to restore the contents of one or more Volumes, for
example, the current state of a system just backed up. With a bootstrap
file, Bacula can restore your system without a Catalog. You can create
a bootstrap file from a Catalog to extract any file or files you wish.
copy of the file data in addition to the File Attributes (see below).
The catalog feature is one part of Bacula that distinguishes it from
- simple backup and archive programs such as {\bf dump} and {\bf tar}.
+ simple backup and archive programs such as dump and tar.
\item [Client]
\index[fd]{Client }
In Bacula's terminology, the word Client refers to the machine being
backed up, and it is synonymous with the File services or File daemon,
- and quite often, we refer to it as the FD. A Client is defined in a
+ and quite often, it is referred to it as the FD. A Client is defined in a
configuration file resource.
\item [Console]
\item [Daemon]
\index[fd]{Daemon }
Unix terminology for a program that is always present in the background to
-carry out a designated task. On Windows systems, as well as some Linux
-systems, daemons are called {\bf Services}.
+ carry out a designated task. On Windows systems, as well as some Unix
+ systems, daemons are called Services.
\item [Directive]
\index[fd]{Directive }
The term directive is used to refer to a statement or a record within a
- Resource in a configuration file that defines one specific thing. For
+ Resource in a configuration file that defines one specific setting. For
example, the {\bf Name} directive defines the name of the Resource.
\item [Director]
\index[fd]{Director }
The main Bacula server daemon that schedules and directs all Bacula
- operations. Occasionally, we refer to the Director as DIR.
+ operations. Occasionally, the project refers to the Director as DIR.
\item [Differential]
\index[fd]{Differential }
files are to be backed up (Storage device, Media Pool). For more
details, see the \ilink{Job Resource definition}{JobResource} in the
Director chapter of this document.
+% TODO: clean up "..." for book
\item [Monitor]
\index[fd]{Monitor }
directives (individual configuration statements). For example, the {\bf
Job} resource defines all the properties of a specific Job: name,
schedule, Volume pool, backup type, backup level, ...
+% TODO: clean up "..." for book
\item [Restore]
\index[fd]{Restore }
files to restore, while normally a Save backs up all the files on the
system. Of course, after a disk crash, Bacula can be called upon to do
a full Restore of all files that were on the system.
+% TODO: Why? Why say "Of course"??
+
+% TODO: define "Save"
+% TODO: define "Full"
\item [Schedule]
\index[fd]{Schedule }
\item [Service]
\index[fd]{Service }
- This is Windows terminology for a {\bf daemon} -- see above. It is now
+ This is Windows terminology for a {\bf daemon} -- see above. It is
frequently used in Unix environments as well.
+% TODO: maybe do not say this is "Windows" terminology because it is common
\item [Storage Coordinates]
\index[fd]{Storage Coordinates }
\index[sd]{Session }
Normally refers to the internal conversation between the File daemon and
the Storage daemon. The File daemon opens a {\bf session} with the
- Storage daemon to save a FileSet, or to restore it. A session has a one
- to one correspondence to a Bacula Job (see above).
+ Storage daemon to save a FileSet or to restore it. A session has a
+ one-to-one correspondence to a Bacula Job (see above).
\item [Verify]
\index[sd]{Verify }
A verify is a job that compares the current file attributes to the
attributes that have previously been stored in the Bacula Catalog. This
feature can be used for detecting changes to critical system files
- similar to what {\bf Tripwire} does. One of the major advantages of
+ similar to what a file integrity checker like Tripwire does.
+ One of the major advantages of
using Bacula to do this is that on the machine you want protected such
as a server, you can run just the File daemon, and the Director, Storage
daemon, and Catalog reside on a different machine. As a consequence, if
to a Volume agrees with what is stored in the Catalog (i.e. it compares
the file attributes), *or it can check the Volume contents against the
original files on disk.
+% TODO: fix book for asterisk above and below
\item [*Archive]
\index[fd]{*Archive }
in the Catalog database. This should not be confused with the time that
the data saved to a Volume is valid.
+% TODO: the following sentence is unclear to me
The File Retention Period determines the time that File records are kept
in the catalog database. This period is important because the volume of
the database File records by far use the most storage space in the
database. As a consequence, you must ensure that regular "pruning" of
the database file records is done. (See the Console {\bf retention}
command for more details on this subject).
+% TODO: Where?
The Job Retention Period is the length of time that Job records will be
kept in the database. Note, all the File records are tied to the Job
have a software label written to the Volume by Bacula so that it
identifies what Volume it is really reading. (Normally there should be
no confusion with disk files, but with tapes, it is easy to mount the
- wrong one).
+ wrong one.)
\end{description}
\section{What Bacula is Not}
\index[general]{What Bacula is Not}
-{\bf Bacula} is a backup, restore and verification program and is not a
+Bacula is a backup, restore and verification program and is not a
complete disaster recovery system in itself, but it can be a key part of one
if you plan carefully and follow the instructions included in the
\ilink{ Disaster Recovery}{RescueChapter} Chapter of this manual.
-With proper planning, as mentioned in the Disaster Recovery chapter {\bf
-Bacula} can be a central component of your disaster recovery system. For
+With proper planning, as mentioned in the Disaster Recovery chapter,
+Bacula can be a central component of your disaster recovery system. For
example, if you have created an emergency boot disk, a Bacula Rescue disk to
save the current partitioning information of your hard disk, and maintain a
complete Bacula backup, it is possible to completely recover your system from
"bare metal" that is starting from an empty disk.
+% TODO: should is say "or" between boot disk and rescue disk?
If you have used the {\bf WriteBootstrap} record in your job or some other
means to save a valid bootstrap file, you will be able to use it to extract