specified on the command line or the default {\bf bacula-dir.conf}, {\bf
bacula-fd.conf}, {\bf bacula-sd.conf}, or {\bf console.conf} for the Director
daemon, the File daemon, the Storage daemon, and the Console program
-respectively.
+respectively.
Each service (Director, Client, Storage, Console) has its own configuration
file containing a set of Resource definitions. These resources are very
file, the {\bf Director} resource defines the name of the Director, a number
of global Director parameters and his password. In the File daemon
configuration file, the {\bf Director} resource specifies which Directors are
-permitted to use the File daemon.
+permitted to use the File daemon.
Before running Bacula for the first time, you must customize the configuration
files for each daemon. Default configuration files will have been created by
the installation process, but you will need to modify them to correspond to
-your system. An overall view of the resources can be seen in the following:
+your system. An overall view of the resources can be seen in the following:
-\addcontentsline{lof}{figure}{Bacula Objects}
-\includegraphics{\idir bacula-objects.eps}
+%% \addcontentsline{lof}{figure}{Bacula Objects}
+%% \includegraphics{\idir bacula-objects}
+\bsysimageH{bacula-objects}{Bacula Objects}{figconfig:baculaobjects}
\label{ResFormat}
\section{Character Sets}
(including those read on Win32 machines) to be in UTF-8 format.
UTF-8 is typically the default on Linux machines, but not on all
Unix machines, nor on Windows, so you must take some care to ensure
-that your locale is set properly before starting Bacula.
+that your locale is set properly before starting Bacula.
To ensure that Bacula configuration files can be correctly read including
foreign characters the {bf LANG} environment variable
within the resource (within the braces) is composed of a keyword followed by
an equal sign (=) followed by one or more values. The keywords must be one of
the known Bacula resource record keywords, and it may be composed of upper or
-lower case characters and spaces.
+lower case characters and spaces.
Each resource definition MUST contain a Name directive, and may optionally
contain a Description directive. The Name directive is used to
uniquely identify the resource. The Description directive is (will be) used
during display of the Resource to provide easier human recognition. For
-example:
+example:
\footnotesize
-\begin{verbatim}
+\begin{lstlisting}
Director {
Name = "MyDir"
Description = "Main Bacula Director"
WorkingDirectory = "$HOME/bacula/bin/working"
}
-\end{verbatim}
+\end{lstlisting}
\normalsize
Defines the Director resource with the name "MyDir" and a working directory
semicolon (;) is a logical end of line, and anything after the semicolon is
considered as the next statement. If a statement appears on a line by itself,
a semicolon is not necessary to terminate it, so generally in the examples in
-this manual, you will not see many semicolons.
+this manual, you will not see many semicolons.
\label{Case1}
\subsection{Upper and Lower Case and Spaces}
\index[general]{Upper and Lower Case and Spaces}
Case (upper/lower) and spaces are totally ignored in the resource directive
-keywords (the part before the equal sign).
+keywords (the part before the equal sign).
Within the keyword (i.e. before the equal sign), spaces are not significant.
Thus the keywords: {\bf name}, {\bf Name}, and {\bf N a m e} are all
-identical.
+identical.
Spaces after the equal sign and before the first character of the value are
-ignored.
+ignored.
In general, spaces within a value are significant (not ignored), and if the
value is a name, you must enclose the name in double quotes for the spaces to
Please note, however, that Bacula resource names as well as certain other
names (e.g. Volume names) must contain only letters (including ISO accented
-letters), numbers, and a few special characters (space, underscore, ...).
+letters), numbers, and a few special characters (space, underscore, ...).
All other characters and punctuation are invalid.
\label{Includes}
filename} is the full path and filename of another file. The @filename
specification can be given anywhere a primitive token would appear.
+If you wish include all files in a specific directory, you can use the following:
+\begin{lstlisting}
+# Include subfiles associated with configuration of clients.
+# They define the bulk of the Clients, Jobs, and FileSets.
+# Remember to "reload" the Director after adding a client file.
+#
+@|"sh -c 'for f in /etc/bacula/clientdefs/*.conf ; do echo @${f} ; done'"
+\end{lstlisting}
+
\label{DataTypes}
\subsection{Recognized Primitive Data Types}
\index[general]{Types!Recognized Primitive Data }
When parsing the resource directives, Bacula classifies the data according to
the types listed below. The first time you read this, it may appear a bit
-overwhelming, but in reality, it is all pretty logical and straightforward.
+overwhelming, but in reality, it is all pretty logical and straightforward.
\begin{description}
name} must be a letter. A name has a maximum length currently set to 127
bytes. Typically keywords appear on the left side of an equal (i.e. they are
Bacula keywords -- i.e. Resource names or directive names). Keywords may not
-be quoted.
+be quoted.
\item [name-string]
\index[fd]{name-string}
values that correspond to filenames, directories, or system command names. A
backslash (\textbackslash{}) turns the next character into itself, so to
include a double quote in a string, you precede the double quote with a
-backslash. Likewise to include a backslash.
+backslash. Likewise to include a backslash.
\item [directory]
\index[dir]{directory}
A directory is either a quoted or non-quoted string. A directory will be
-passed to your standard shell for expansion when it is scanned. Thus
-constructs such as {\bf \$HOME} are interpreted to be their correct values.
+passed to your standard shell for expansion when it is scanned. Thus
+constructs such as {\bf \$HOME} are interpreted to be their correct values.
\item [password]
\index[dir]{password}
- This is a Bacula password and it is stored internally in MD5 hashed format.
+ This is a Bacula password and it is stored internally in MD5 hashed format.
\item [integer]
\index[dir]{integer}
- A 32 bit integer value. It may be positive or negative.
+ A 32 bit integer value. It may be positive or negative.
\item [positive integer]
\index[dir]{positive integer }
- A 32 bit positive integer value.
+ A 32 bit positive integer value.
\item [long integer]
\index[dir]{long integer}
A 64 bit integer value. Typically these are values such as bytes that can
-exceed 4 billion and thus require a 64 bit value.
+exceed 4 billion and thus require a 64 bit value.
\item [yes\vb{}no]
\index[dir]{yes or no }
- Either a {\bf yes} or a {\bf no}.
+ Either a {\bf yes} or a {\bf no}.
\label{Size1}
\item [size]
input format followed by an optional modifier. The floating point input is
stored as a 64 bit integer value. If a modifier is present, it must
immediately follow the value with no intervening spaces. The following
-modifiers are permitted:
+modifiers are permitted:
\begin{description}
\item [k]
- 1,024 (kilobytes)
+ 1,024 (kilobytes)
\item [kb]
- 1,000 (kilobytes)
+ 1,000 (kilobytes)
\item [m]
- 1,048,576 (megabytes)
+ 1,048,576 (megabytes)
\item [mb]
- 1,000,000 (megabytes)
+ 1,000,000 (megabytes)
\item [g]
- 1,073,741,824 (gigabytes)
+ 1,073,741,824 (gigabytes)
\item [gb]
- 1,000,000,000 (gigabytes)
+ 1,000,000,000 (gigabytes)
\end{description}
\label{Time}
\item [seconds]
\index[dir]{seconds}
- seconds
+ seconds
\item [minutes]
\index[dir]{minutes}
- minutes (60 seconds)
+ minutes (60 seconds)
\item [hours]
\index[dir]{hours }
- hours (3600 seconds)
+ hours (3600 seconds)
\item [days]
\index[dir]{days}
- days (3600*24 seconds)
+ days (3600*24 seconds)
\item [weeks]
\index[dir]{weeks}
\item [months]
\index[dir]{months }
- months (3600*24*30 seconds)
+ months (3600*24*30 seconds)
\item [quarters]
\index[dir]{quarters }
- quarters (3600*24*91 seconds)
+ quarters (3600*24*91 seconds)
\item [years]
\index[dir]{years }
- years (3600*24*365 seconds)
+ years (3600*24*365 seconds)
\end{description}
Any abbreviation of these modifiers is also permitted (i.e. {\bf seconds}
wish. For example:
\footnotesize
-\begin{verbatim}
+\begin{lstlisting}
1 week 2 days 3 hours 10 mins
1 month 2 days 30 sec
-
-\end{verbatim}
+
+\end{lstlisting}
\normalsize
are valid date specifications.
The following table lists all current Bacula resource types. It shows what
resources must be defined for each service (daemon). The default configuration
files will already contain at least one example of each permitted resource, so
-you need not worry about creating all these kinds of resources from scratch.
-
-\addcontentsline{lot}{table}{Resource Types}
-\begin{longtable}{|l|l|l|l|l|}
- \hline
-\multicolumn{1}{|c| }{\bf Resource } & \multicolumn{1}{c| }{\bf Director } &
-\multicolumn{1}{c| }{\bf Client } & \multicolumn{1}{c| }{\bf Storage } &
-\multicolumn{1}{c| }{\bf Console } \\
- \hline
-{Autochanger } & {No } & {No } & {Yes } & {No } \\
-\hline
-{Catalog } & {Yes } & {No } & {No } & {No } \\
- \hline
-{Client } & {Yes } & {Yes } & {No } & {No } \\
- \hline
-{Console } & {Yes } & {No } & {No } & {Yes } \\
- \hline
-{Device } & {No } & {No } & {Yes } & {No } \\
- \hline
-{Director } & {Yes } & {Yes } & {Yes } & {Yes } \\
- \hline
-{FileSet } & {Yes } & {No } & {No } & {No } \\
- \hline
-{Job } & {Yes } & {No } & {No } & {No } \\
- \hline
-{JobDefs } & {Yes } & {No } & {No } & {No } \\
- \hline
-{Message } & {Yes } & {Yes } & {Yes } & {No } \\
- \hline
-{Pool } & {Yes } & {No } & {No } & {No } \\
- \hline
-{Schedule } & {Yes } & {No } & {No } & {No } \\
- \hline
-{Storage } & {Yes } & {No } & {Yes } & {No }
-\\ \hline
-
-\end{longtable}
+you need not worry about creating all these kinds of resources from scratch.
+%\addcontentsline{lot}{table}{Resource Types}
+\LTXtable{0.95\linewidth}{table_resources}
\section{Names, Passwords and Authorization}
\label{Names}
\index[general]{Authorization!Names Passwords and }
The default configuration files are automatically defined for correct
authorization with random passwords. If you add to or modify these files, you
-will need to take care to keep them consistent.
+will need to take care to keep them consistent.
Here is sort of a picture of what names/passwords in which files/Resources
-must match up:
+must match up:
-\includegraphics{\idir Conf-Diagram.eps}
+%\includegraphics{\idir Conf-Diagram}
+\bsysimageH{Conf-Diagram}{Configuration diagram}{figconfig:configdiagram}
In the left column, you will find the Director, Storage, and Client resources,
with their names and passwords -- these are all in {\bf bacula-dir.conf}. In
the right column are where the corresponding values should be found in the
-Console, Storage daemon (SD), and File daemon (FD) configuration files.
+Console, Storage daemon (SD), and File daemon (FD) configuration files.
Please note that the Address, {\bf fd-sd}, that appears in the Storage
resource of the Director, preceded with and asterisk in the above example, is
daemon, which is most likely not what is desired. The password used for the
File daemon to authorize with the Storage daemon is a temporary password
unique to each Job created by the daemons and is not specified in any .conf
-file.
+file.
\section{Detailed Information for each Daemon}
\index[general]{Detailed Information for each Daemon }
\index[general]{Daemon!Detailed Information for each }
The details of each Resource and the directives permitted therein are
-described in the following chapters.
+described in the following chapters.
-The following configuration files must be defined:
+The following configuration files must be defined:
-\begin{itemize}
-\item
- \ilink{Console}{ConsoleConfChapter} -- to define the resources for
+\begin{bsysitemize}
+\item
+ \ilink{Console}{ConsoleConfChapter} -- to define the resources for
the Console program (user interface to the Director). It defines which
-Directors are available so that you may interact with them.
-\item
- \ilink{Director}{DirectorChapter} -- to define the resources
+Directors are available so that you may interact with them.
+\item
+ \ilink{Director}{DirectorChapter} -- to define the resources
necessary for the Director. You define all the Clients and Storage daemons
-that you use in this configuration file.
-\item
- \ilink{Client}{FiledConfChapter} -- to define the resources for
+that you use in this configuration file.
+\item
+ \ilink{Client}{FiledConfChapter} -- to define the resources for
each client to be backed up. That is, you will have a separate Client
-resource file on each machine that runs a File daemon.
-\item
- \ilink{Storage}{StoredConfChapter} -- to define the resources to
+resource file on each machine that runs a File daemon.
+\item
+ \ilink{Storage}{StoredConfChapter} -- to define the resources to
be used by each Storage daemon. Normally, you will have a single Storage
daemon that controls your tape drive or tape drives. However, if you have
tape drives on several machines, you will have at least one Storage daemon
-per machine.
-\end{itemize}
+per machine.
+\end{bsysitemize}