%%
%%
-\chapter{What is Bacula?}
+\chapter{What is Bacula Enterprise?}
\label{GeneralChapter}
-\index[general]{Bacula!What is }
-\index[general]{What is Bacula? }
+\index[general]{Bacula!What is}
+\index[general]{What is Bacula?}
-Bacula is a set of computer programs that permits the system
+\mbacula{} 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
+across a network of computers of different kinds. \mbacula{} 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
+network Client/Server based backup program. \mbacula{} 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.
+design, \mbacula{} is scalable from small single computer systems to systems
+consisting of hundreds of computers located over a large network.
\section{Who Needs Bacula?}
-\index[general]{Who Needs Bacula? }
-\index[general]{Bacula!Who Needs }
+\index[general]{Who needs Bacula?}
+\index[general]{Bacula!Who needs}
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
+flexibility, or catalog services, \mbacula{} 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, the Bacula project does not
-recommend using Bacula as it is much more difficult to setup and use than
-tar or dump.
+not have offsetting experience with a sophisticated backup package, the \mbacula{}
+ project does not recommend using \mbacula{} 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
+If you want \mbacula{} to behave like the above mentioned simple
programs and write over any tape that you put in the drive, then you will find
-working with Bacula difficult. Bacula is designed to protect your data
+working with \mbacula{} difficult. \mbacula{} is designed to protect your data
following the rules you specify, and this means reusing a tape only
-as the last resort. It is possible to "force" Bacula to write
+as the last resort. It is possible to "force" \mbacula{} to write
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 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 Bacula users
-report that Bacula is simpler to setup and use than other equivalent programs.
+to multiple volumes (i.e. is not limited by your tape drive capacity), \mbacula{}
+can most likely fill your needs. In addition, quite a number of \mbacula{} users
+report that \mbacula{} 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
-available under the GNU Version 2 software license.
+\mbacula{}, 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 }
+\index[general]{Bacula components or services}
+\index[general]{Services!Bacula components or}
-Bacula is made up of the following five major components or services:
+\mbacula{} is made up of the following five major components or services:
Director, Console, File, Storage, and Monitor services.
-\addcontentsline{lof}{figure}{Bacula Applications}
-\includegraphics{\idir bacula-applications.eps}
-(thanks to Aristedes Maniatis for this graphic and the one below)
+%\addcontentsline{lof}{figure}{Bacula Applications}
+\bsysimageH{bacula-applications}{Bacula Applications}{figgeneral:bacula-applications}
+
+(thanks to Aristedes Maniatis for this graphic and the one below)
% TODO: move the thanks to Credits section in preface
\subsection*{Bacula Director}
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
+ text-based console interface, QT-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
with an interactive file restore. It also has most of the capabilities
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}.
+ details see the \bsysxrlinkdocument{Bacula Console Design Document}{_ConsoleChapter}{console}{Chapter}.
\subsection*{Bacula File}
\label{FDDef}
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
+ 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:
- \elink{www.mysql.com}{http://www.mysql.com}. Or see the \ilink{
- Installing and Configuring PostgreSQL}{PostgreSqlChapter} chapter of this
+ \elink{www.mysql.com}{http://www.mysql.com}. Or see the \ilink{Installing
+ and Configuring PostgreSQL}{PostgreSqlChapter} chapter of this
document for the details. For more information on PostgreSQL, please
see: \elink{www.postgresql.org}{http://www.postgresql.org}.
configuring SQLite, please see the \ilink{ Installing and Configuring
SQLite}{SqlLiteChapter} chapter of this document.
-\subsection*{Bacula Monitor}
+\subsection*{Bacula Monitor}
\label{MonDef}
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.
+ 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 the Catalog service (MySQL, PostgreSQL or SQLite).
+ daemon, and the Catalog service (MySQL, PostgreSQL or SQLite).
\section{Bacula Configuration}
-\index[general]{Configuration!Bacula }
-\index[general]{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
-resources (or objects). The following presents an overall picture of this:
+resources (or objects). The following presents an overall picture of this:
-\addcontentsline{lof}{figure}{Bacula Objects}
-\includegraphics{\idir bacula-objects.eps}
+%\addcontentsline{lof}{figure}{Bacula Objects}
+\bsysimageH{bacula-objects}{Bacula Objects}{figgeneral:baculaojects}
+%\includegraphics{\idir bacula-objects}
\section{Conventions Used in this Document}
-\index[general]{Conventions Used in this Document }
-\index[general]{Document!Conventions Used in this }
+\index[general]{Conventions used in this document}
+\index[general]{Document!Conventions used in this}
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.
+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
-version of the manual,
+version of the manual,
\elink{ www.bacula.org}{http://www.bacula.org}, please bear in
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.
+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 }
+\index[general]{Quick Start}
+\index[general]{Start!Quick}
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
+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
give you a quick overview of getting Bacula running. After which, you should
-proceed to the chapter on
-\ilink{Installing Bacula}{InstallChapter}, then
+proceed to the chapter on
+\ilink{Installing Bacula}{InstallChapter}, then
\ilink{How to Configure Bacula}{ConfigureChapter}, and finally the
-chapter on
-\ilink{ Running Bacula}{TutorialChapter}.
+chapter on
+\ilink{ Running Bacula}{TutorialChapter}.
\section{Terminology}
-\index[general]{Terminology }
+\index[general]{Terminology}
\begin{description}
\item [Administrator]
- \index[fd]{Administrator }
- The person or persons responsible for administrating the Bacula system.
+ \index[fd]{Administrator}
+ The person or persons responsible for administrating the Bacula system.
\item [Backup]
- \index[fd]{Backup }
- The term Backup refers to a Bacula Job that saves files.
+ \index[fd]{Backup}
+ The term Backup refers to a Bacula Job that saves files.
\item [Bootstrap File]
- \index[fd]{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
(bextract) to restore the contents of one or more Volumes, for
a bootstrap file from a Catalog to extract any file or files you wish.
\item [Catalog]
- \index[fd]{Catalog }
+ \index[fd]{Catalog}
The Catalog is used to store summary information about the Jobs,
Clients, and Files that were backed up and on what Volume or Volumes.
The information saved in the Catalog permits the administrator or user
simple backup and archive programs such as dump and tar.
\item [Client]
- \index[fd]{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, it is referred to it as the FD. A Client is defined in a
configuration file resource.
\item [Console]
- \index[fd]{Console }
+ \index[fd]{Console}
The program that interfaces to the Director allowing the user or system
- administrator to control Bacula.
+ administrator to control Bacula.
\item [Daemon]
- \index[fd]{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 Unix
- systems, daemons are called Services.
+ systems, daemons are called Services.
\item [Directive]
- \index[fd]{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 setting. For
example, the {\bf Name} directive defines the name of the Resource.
\item [Director]
- \index[fd]{Director }
+ \index[fd]{Director}
The main Bacula server daemon that schedules and directs all Bacula
- operations. Occasionally, the project refers to the Director as DIR.
+ operations. Occasionally, the project refers to the Director as DIR.
\item [Differential]
- \index[fd]{Differential }
+ \index[fd]{Differential}
A backup that includes all files changed since the last Full save started.
- Note, other backup programs may define this differently.
+ Note, other backup programs may define this differently.
\item [File Attributes]
- \index[fd]{File Attributes }
+ \index[fd]{File attributes}
The File Attributes are all the information necessary about a file to
identify it and all its properties such as size, creation date, modification
date, permissions, etc. Normally, the attributes are handled entirely by
Bacula so that the user never needs to be concerned about them. The
- attributes do not include the file's data.
+ attributes do not include the file's data.
\item [File Daemon]
- \index[fd]{File Daemon }
+ \index[fd]{File daemon}
The daemon running on the client computer to be backed up. This is also
referred to as the File services, and sometimes as the Client services or the
- FD.
+ FD.
+\phantomsection
\label{FileSetDef}
\item [FileSet]
-\index[fd]{a name }
+\index[fd]{FileSet}
A FileSet is a Resource contained in a configuration file that defines
the files to be backed up. It consists of a list of included files or
directories, a list of excluded files, and how the file is to be stored
chapter of this document.
\item [Incremental]
- \index[fd]{Incremental }
+ \index[fd]{Incremental}
A backup that includes all files changed since the last Full, Differential,
or Incremental backup started. It is normally specified on the {\bf Level}
- directive within the Job resource definition, or in a Schedule resource.
+ directive within the Job resource definition, or in a Schedule resource.
-\label{JobDef}
-\item [Job]
-\index[fd]{a name }
+\phantomsection
+\item [Job]\label{JobDef}
+\index[fd]{Job}
A Bacula Job is a configuration resource that defines the work that
Bacula must perform to backup or restore a particular Client. It
consists of the {\bf Type} (backup, restore, verify, etc), the {\bf
- Level} (full, incremental,...), the {\bf FileSet}, and {\bf Storage} the
+ Level} (full, incremental,\ldots{}), the {\bf FileSet}, and {\bf Storage} the
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 }
+ \index[fd]{Monitor}
The program that interfaces to all the daemons allowing the user or
- system administrator to monitor Bacula status.
+ system administrator to monitor Bacula status.
\item [Resource]
- \index[fd]{Resource }
+ \index[fd]{Resource}
A resource is a part of a configuration file that defines a specific
unit of information that is available to Bacula. It consists of several
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, ...
+ schedule, Volume pool, backup type, backup level, \ldots{}
% TODO: clean up "..." for book
\item [Restore]
- \index[fd]{Restore }
+ \index[fd]{Restore}
A restore is a configuration resource that describes the operation of
recovering a file from backup media. It is the inverse of a save,
except that in most cases, a restore will normally have a small set of
% TODO: define "Full"
\item [Schedule]
- \index[fd]{Schedule }
+ \index[fd]{Schedule}
A Schedule is a configuration resource that defines when the Bacula Job
will be scheduled for execution. To use the Schedule, the Job resource
will refer to the name of the Schedule. For more details, see the
chapter of this document.
\item [Service]
- \index[fd]{Service }
+ \index[fd]{Service}
This is a program that remains permanently in memory awaiting
instructions. In Unix environments, services are also known as
- {\bf daemons}.
+ {\bf daemons}.
\item [Storage Coordinates]
- \index[fd]{Storage Coordinates }
+ \index[fd]{Storage coordinates}
The information returned from the Storage Services that uniquely locates
a file on a backup medium. It consists of two parts: one part pertains
to each file saved, and the other part pertains to the whole Job.
location of the information on the backup Volume.
\item [Storage Daemon]
- \index[fd]{Storage Daemon }
+ \index[fd]{Storage daemon}
The Storage daemon, sometimes referred to as the SD, is the code that
writes the attributes and data to a storage Volume (usually a tape or
disk).
\item [Session]
- \index[sd]{Session }
+ \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).
\item [Verify]
- \index[sd]{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
original files on disk.
\item [*Archive]
- \index[fd]{*Archive }
+ \index[fd]{Archive}
An Archive operation is done after a Save, and it consists of removing the
Volumes on which data is saved from active use. These Volumes are marked as
Archived, and may no longer be used to save files. All the files contained
- on an Archived Volume are removed from the Catalog. NOT YET IMPLEMENTED.
+ on an Archived Volume are removed from the Catalog. NOT YET IMPLEMENTED.
\item [Retention Period]
- \index[fd]{Retention Period }
+ \index[fd]{Retention period}
There are various kinds of retention periods that Bacula recognizes.
The most important are the {\bf File} Retention Period, {\bf Job}
Retention Period, and the {\bf Volume} Retention Period. Each of these
Period is because the volume of
the database File records use the most storage space in the
database. As a consequence, you must ensure that regular "pruning" of
- the database file records is done to keep your database from growing
+ the database file records is done to keep your database from growing
too large. (See the Console {\bf prune}
command for more details on this subject).
retention periods defined.
\item [Scan]
- \index[sd]{Scan }
+ \index[sd]{Scan}
A Scan operation causes the contents of a Volume or a series of Volumes
to be scanned. These Volumes with the information on which files they
contain are restored to the Bacula Catalog. Once the information is
easily restored. This function is particularly useful if certain
Volumes or Jobs have exceeded their retention period and have been
pruned or purged from the Catalog. Scanning data from Volumes into the
- Catalog is done by using the {\bf bscan} program. See the \ilink{ bscan
- section}{bscan} of the Bacula Utilities Chapter of this manual for more
+ Catalog is done by using the {\bf bscan} program. See the \bsysxrlink{bscan}
+{bscan}{utility}{section} of the \utilityman{} for more
details.
\item [Volume]
- \index[sd]{Volume }
+ \index[sd]{Volume}
A Volume is an archive unit, normally a tape or a named disk file where
Bacula stores the data from one or more backup jobs. All Bacula Volumes
have a software label written to the Volume by Bacula so that it
\end{description}
\section{What Bacula is Not}
-\index[general]{What Bacula is Not}
+\index[general]{What Bacula is not}
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.
+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,
Bacula can be a central component of your disaster recovery system. For
example, if you have created an emergency boot disk, and/or 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.
+"bare metal" that is starting from an empty 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
the necessary files (without using the catalog or manually searching for the
-files to restore).
+files to restore).
\section{Interactions Between the Bacula Services}
-\index[general]{Interactions Between the Bacula Services}
-\index[general]{Services!Interactions Between the Bacula}
+\index[general]{Interactions between the Bacula services}
+\index[general]{Services!Interactions between the Bacula}
-The following block diagram shows the typical interactions between the Bacula
+The block diagram \vref{figgeneral:interactions} shows the typical interactions between the Bacula
Services for a backup job. Each block represents in general a separate process
(normally a daemon). In general, the Director oversees the flow of
-information. It also maintains the Catalog.
+information. It also maintains the Catalog.
-\addcontentsline{lof}{figure}{Interactions between Bacula Services}
-\includegraphics{\idir flow.eps}
+%\addcontentsline{lof}{figure}{Interactions between Bacula Services}
+\bsysimageH{flow}{Interactions between Bacula Services}{figgeneral:interactions}
+%includegraphics{\idir flow}