Director daemon while the daemon is running.
The current Bacula Console comes in two versions: a shell interface (TTY
-style), and a GNOME GUI interface. Both permit the administrator or authorized
-users to interact with Bacula. You can determine the status of a particular
-job, examine the contents of the Catalog as well as perform certain tape
-manipulations with the Console program.
+style), and a QT GUI interface (Bat). Both permit the administrator or
+authorized users to interact with Bacula. You can determine the status of a
+particular job, examine the contents of the Catalog as well as perform certain
+tape manipulations with the Console program.
In addition, there is a bwx-console built with wxWidgets that allows a graphic
restore of files. As of version 1.34.1 it is in an early stage of development,
\index[general]{Configuration!Console}
When the Console starts, it reads a standard Bacula configuration file
-named {\bf bconsole.conf} or {\bf bgnome-console.conf} in the case of the GNOME
-Console version from the current directory unless you specify the {\bf {-}c}
+named {\bf bconsole.conf} or {\bf bat.conf} in the case of the Bat
+QT Console version from the current directory unless you specify the {\bf {-}c}
command line option (see below). This file allows default configuration
of the Console, and at the current time, the only Resource Record defined
is the Director resource, which gives the Console the name and address of
\normalsize
-After launching the Console program (bconsole), it will prompt you for the
-next command with an asterisk (*). (Note, in the GNOME version, the prompt is
-not present; you simply enter the commands you want in the command text box at
-the bottom of the screen.) Generally, for all commands, you can simply enter
-the command name and the Console program will prompt you for the necessary
-arguments. Alternatively, in most cases, you may enter the command followed by
-arguments. The general format is:
+After launching the Console program (bconsole), it will prompt you for the next
+command with an asterisk (*). Generally, for all commands, you can simply
+enter the command name and the Console program will prompt you for the
+necessary arguments. Alternatively, in most cases, you may enter the command
+followed by arguments. The general format is:
\footnotesize
\begin{verbatim}
auto-display of messages on or off respectively. The default for the
console program is {\bf off}, which means that you will be notified when
there are console messages pending, but they will not automatically be
- displayed. The default for the bgnome-console program is {\bf on}, which
- means that messages will be displayed when they are received (usually
- within five seconds of them being generated).
+ displayed.
When autodisplay is turned off, you must explicitly retrieve the
messages with the {\bf messages} command. When autodisplay is turned
However, there is a small list of {\bf at} commands, all beginning with an at
character (@), that will not be sent to the Director, but rather interpreted
by the Console program directly. Note, these commands are implemented only in
-the tty console program and not in the GNOME Console. These commands are:
+the tty console program and not in the Bat Console. These commands are:
\begin{description}
\date{\vspace{1.0in}\today \\
This manual documents Bacula version \input{version} \\
\vspace{0.2in}
- Copyright \copyright 1999-2009, Free Software Foundation Europe
+ Copyright \copyright 1999-2010, Free Software Foundation Europe
e.V. \\
\vspace{0.2in}
Permission is granted to copy, distribute and/or modify this document under the terms of the
\author{Kern Sibbald}
\date{\vspace{1.0in}\today \\
- This manual documents Bacula version \fullversion \\
+ This manual documents Bacula version \input{version} \\
\vspace{0.2in}
- Copyright {\copyright} 1999-2009, Free Software Foundation Europe
+ Copyright {\copyright} 1999-2010, Free Software Foundation Europe
e.V. \\
Bacula {\textregistered} is a registered trademark of Kern Sibbald.\\
\vspace{0.2in}
add user level security and access. If we have code spread everywhere such as
in a GUI this will be more difficult. The other advantage is that any code you
add to the Director is automatically available to both the tty console program
-and the GNOME program. The major disadvantage is it increases the size of the
+and the WX program. The major disadvantage is it increases the size of the
code -- however, compared to Networker the Bacula Director is really tiny.
\subsection{GUI Interface is Difficult}
For a GUI program things will be a bit more complicated. Basically in the very
inner loop, you will need to check and see if any output is available on the
-UA\_sock. For an example, please take a look at the GNOME GUI interface code
-in: \lt{}bacula-source\>/src/gnome-console/console.c
+UA\_sock. For an example, please take a look at the WX GUI interface code
+in: \lt{bacula-source/src/wx-console}
+
+\section{Bvfs API}
+\label{sec:bvfs}
+
+To help developers of restore GUI interfaces, we have added new \textsl{dot
+ commands} that permit browsing the catalog in a very simple way.
+
+\begin{itemize}
+\item \texttt{.bvfs\_update [jobid=x,y,z]} This command is required to update
+ the Bvfs cache in the catalog. You need to run it before any access to the
+ Bvfs layer.
+
+\item \texttt{.bvfs\_lsdirs jobid=x,y,z path=/path | pathid=101} This command
+ will list all directories in the specified \texttt{path} or
+ \texttt{pathid}. Using \texttt{pathid} avoids problems with character
+ encoding of path/filenames.
+
+\item \texttt{.bvfs\_lsfiles jobid=x,y,z path=/path | pathid=101} This command
+ will list all files in the specified \texttt{path} or \texttt{pathid}. Using
+ \texttt{pathid} avoids problems with character encoding.
+\end{itemize}
+
+You can use \texttt{limit=xxx} and \texttt{offset=yyy} to limit the amount of
+data that will be displayed.
+
+\begin{verbatim}
+* .bvfs_update jobid=1,2
+* .bvfs_update
+* .bvfs_lsdir path=/ jobid=1,2
+\end{verbatim}
+
\newfont{\bighead}{cmr17 at 36pt}
\parskip 10pt
\parindent 0pt
\author{Kern Sibbald}
\date{\vspace{1.0in}\today \\
- This manual documents Bacula version \fullversion \\
+ This manual documents Bacula version \input{version} \\
\vspace{0.2in}
- Copyright {\copyright} 1999-2009, Free Software Foundation Europe
+ Copyright {\copyright} 1999-2010, Free Software Foundation Europe
e.V. \\
Bacula {\textregistered} is a registered trademark of Kern Sibbald.\\
\vspace{0.2in}
\label{FileRetention}
\item [File Retention = \lt{}time-period-specification\gt{}]
+ \label{FileRetention}
\index[dir]{File Retention}
\index[dir]{Directive!File Retention}
The File Retention directive defines the length of time that Bacula will
\label{JobRetention}
\item [Job Retention = \lt{}time-period-specification\gt{}]
+ \label{JobRetention}
\index[dir]{Job Retention}
\index[dir]{Directive!Job Retention}
The Job Retention directive defines the length of time that Bacula will keep
sure that some day, Bacula will recycle a Volume that contains current
data. The default is {\bf no}.
+\item [File Retention = \lt{}time-period-specification\gt{}]
+ \index[dir]{File Retention}
+ \index[dir]{Directive!File Retention}
+ The File Retention directive defines the length of time that Bacula will
+ keep File records in the Catalog database after the End time of the
+ Job corresponding to the File records.
+
+ This directive takes precedence over Client directives of the same name. For
+ example, you can decide to increase Retention times for Archive or OffSite
+ Pool.
+
+ Note, this affects only records in the catalog database. It does not affect
+ your archive backups.
+
+ For more information see Client documentation about
+ \ilink{FileRetention}{FileRetention}
+
+\item [Job Retention = \lt{}time-period-specification\gt{}]
+ \index[dir]{Job Retention}
+ \index[dir]{Directive!Job Retention}
+
+ The Job Retention directive defines the length of time that Bacula will keep
+ Job records in the Catalog database after the Job End time. As with the
+ other retention periods, this affects only records in the catalog and not
+ data in your archive backup.
+
+ This directive takes precedence over Client directives of the same name.
+ For example, you can decide to increase Retention times for Archive or
+ OffSite Pool.
+
+ For more information see Client side documentation
+ \ilink{JobRetention}{JobRetention}
+
\item [Cleaning Prefix = \lt{}string\gt{}]
\index[dir]{Cleaning Prefix}
\index[dir]{Directive!Cleaning Prefix}
\index[dir]{checkfilechanges}
\index[dir]{Directive!checkfilechanges}
On versions 2.0.4 or greater,
- if enabled, the Client will checks size, age of each file after
+ if enabled, the Client will check size, age of each file after
their backup to see if they have changed during backup. If time
or size mismatch, an error will raise.
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
\hline
\multicolumn{1}{|c| }{\bf 3rd Party Package} & \multicolumn{1}{c| }{\bf depkgs}
& \multicolumn{1}{c| }{\bf depkgs-qt} \\
- \hline {SQLite } & \multicolumn{1}{c| }{X } & \multicolumn{1}{c| }{ }\\
\hline {SQLite3 } & \multicolumn{1}{c| }{X } & \multicolumn{1}{c| }{ }\\
\hline {mtx } & \multicolumn{1}{c| }{X } & \multicolumn{1}{c| }{ } \\
\hline {qt4 } & \multicolumn{1}{c| }{ } & \multicolumn{1}{c| }{X } \\
- \hline {qwt } & \multicolumn{1}{c| }{ } & \multicolumn{1}{c| }{X } \\
\hline
\end{longtable}
(src/stored), it is probably because you have not loaded the static
libraries on your system. I noticed this problem on a Solaris system.
To correct it, make sure that you have not added {\bf
- {-}{-}enable-static-tools} to the {\bf ./configure} command.
+ {-} {-}enable-static-tools} to the {\bf ./configure} command.
If you skip this step ({\bf make}) and proceed immediately to the {\bf
make install} you are making two serious errors: 1. your install will
would normally use, and each developer/user may modify them to suit his needs.
You should find additional useful examples in this directory as well.
-The {\bf \verb:--:enable-conio} or {\bf \verb:--:enable-readline} options are useful because
-they provide a command line history and editing capability for the Console
-program. If you have included either option in the build, either the {\bf
-termcap} or the {\bf ncurses} package will be needed to link. On most
-systems, including Red Hat and SuSE, you should include the ncurses package.
-If Bacula's configure process finds the ncurses libraries, it will use
-those rather than the termcap library.
-On some systems, such as SuSE, the termcap library is not in the standard
-library directory. As a consequence, the option may be disabled or you may
-get an error message such as:
+The {\bf \verb:--:enable-conio} or {\bf \verb:--:enable-readline} options are
+useful because they provide a command line history, editing capability for the
+Console program and tab completion on various option. If you have included
+either option in the build, either the {\bf termcap} or the {\bf ncurses}
+package will be needed to link. On most systems, including Red Hat and SuSE,
+you should include the ncurses package. If Bacula's configure process finds
+the ncurses libraries, it will use those rather than the termcap library. On
+some systems, such as SuSE, the termcap library is not in the standard library
+directory. As a consequence, the option may be disabled or you may get an
+error message such as:
\footnotesize
\begin{verbatim}
\end{verbatim}
\normalsize
-The same library requirements apply if you wish to use the readline
-subroutines for command line editing and history or
-if you are using a MySQL library that requires encryption. If you need encryption,
-you can either export the appropriate additional library options as shown
-above or, alternatively, you can include them directly on the ./configure line
-as in:
+The same library requirements apply if you wish to use the readline subroutines
+for command line editing, history and tab completion or if you are using a
+MySQL library that requires encryption. If you need encryption, you can either
+export the appropriate additional library options as shown above or,
+alternatively, you can include them directly on the ./configure line as in:
\footnotesize
\begin{verbatim}
libintl, you should ensure that the appropriate package is installed on
your system. Alternatively, if the package is installed in a non-standard
location (as far as Bacula is concerned), then there is generally an
-option listed below (or listed with "./configure {-}{-}help" that will
+option listed below (or listed with "./configure {-} {-}help" that will
permit you to specify the directory that should be searched. In other
cases, there are options that will permit you to disable to feature
-(e.g. {-}{-}disable-nls).
+(e.g. {-} {-}disable-nls).
If you want to dive right into it, we recommend you skip to the next chapter,
and run the example program. It will teach you a lot about Bacula and as an
customize your installation.
\begin{description}
-\item [ {-}prefix=\lt{}patch\gt{}]
+\item [ \--prefix=\lt{}patch\gt{}]
\index[general]{{-}prefix}
This option is meant to allow you to direct where the architecture
independent files should be placed. However, we find this a somewhat
you avoid it. We have provided options that allow you to explicitly
specify the directories for each of the major categories of installation
files.
-\item [ {-}{-}sbindir=\lt{}binary-path\gt{}]
- \index[general]{{-}{-}sbindir}
+\item [ {-}{\-}sbindir=\lt{}binary-path\gt{}]
+ \index[general]{{-}{\-}sbindir}
Defines where the Bacula binary (executable) files will be placed during a
{\bf make install} command.
-\item [ {-}{-}sysconfdir=\lt{}config-path\gt{}]
- \index[general]{{-}{-}sysconfdir}
+\item [ {-}{\-}sysconfdir=\lt{}config-path\gt{}]
+ \index[general]{{-}{\-}sysconfdir}
Defines where the Bacula configuration files should be placed during a
{\bf make install} command.
-\item [ {-}{-}mandir=\lt{}path\gt{}]
- \index[general]{{-}{-}mandir}
+\item [ {-}{\-}mandir=\lt{}path\gt{}]
+ \index[general]{{-}{\-}mandir}
Note, as of Bacula version 1.39.14, the meaning of any path
specified on this option is change from prior versions. It
now specifies the top level man directory.
Note, the main HTML and PDF Bacula documents are in a separate
tar file that is not part of the source distribution.
-\item [ {-}{-}datadir=\lt{}path\gt{} ]
- \index[general]{{-}{-}datadir}
+\item [ {-}{\-}datadir=\lt{}path\gt{} ]
+ \index[general]{{-}{\-}datadir}
If you translate Bacula or parts of Bacula into a different language
you may specify the location of the po files using the {\bf
- {-}{-}datadir} option. You must manually install any po files as
+ {-}{\-}datadir} option. You must manually install any po files as
Bacula does not (yet) automatically do so.
-\item [ {-}{-}disable-ipv6 ]
- \index[general]{{-}{-}disable-ipv6}
+\item [ {-}{\-}disable-ipv6 ]
+ \index[general]{{-}{\-}disable-ipv6}
-\item [ {-}{-}enable-smartalloc ]
- \index[general]{{-}{-}enable-smartalloc}
+\item [ {-}{\-}enable-smartalloc ]
+ \index[general]{{-}{\-}enable-smartalloc}
This enables the inclusion of the Smartalloc orphaned buffer detection
code. This option is highly recommended. Because we never build
without this option, you may experience problems if it is not enabled.
keeping this option enabled as it helps detect memory leaks. This
configuration parameter is used while building Bacula
-\item [ {-}{-}enable-bat ]
+\item [ {-}{\-}enable-bat ]
\label{enablebat}
- \index[general]{{-}{-}enable-bat}
- If you have Qt4 >= 4.3 installed on your computer including the
+ \index[general]{{-}{\-}enable-bat}
+ If you have Qt4 >= 4.3.4 installed on your computer including the
libqt4 and libqt4-devel (libqt4-dev on Debian) libraries, and you want
to use the Bacula Administration Tool (bat) GUI Console interface to
Bacula, you must specify this option. Doing so will build everything in
Qt4 is available on OpenSUSE 10.2, CentOS 5, Fedora, and Debian. If it
is not available on your system, you can download the {\bf depkgs-qt}
- package from the Bacula Source Forge download area and build it and
- the qwt package, both of which are needed to build bat. See the
+ package from the Bacula Source Forge download area and build it.
+ See the
INSTALL file in that package for more details. In particular to use
- the Qt4 built by {\bf depkgs-qt} you {bf must} source the file
+ the Qt4 built by {\bf depkgs-qt} you {\bf must} source the file
{\bf qt4-paths}.
-\item [ {-}{-}with-qwt=\lt{}path\gt{} ]
- \index[general]{{-}{-}with-qwt}
- The qwt package is a graphics library for Qt. If it is included
- during the building of bat, you will get one extra graphical function.
- At the current time, we recommend not including this option when
- building bat. The path specified must be an absolute path and
- not relative.
-
- The qwt package is available for download from
- the qwt project on Source Forge. If you wish, you may build and
- install it on your system (by default in /usr/lib).
- If you have done so, you would specify:
-
-\begin{verbatim}
- --with-qwt=/usr/lib/qwt-5.0.2
-\end{verbatim}
-
- Alternatively, you can download the Bacula depkgs-qt package (currently
- version 28Jul09) and build it, then assuming that you have put it
- into a directory named bacula, you would specify:
-
-\begin{verbatim}
- --with-qwt=$HOME/bacula/depkgs-qt/qwt
-\end{verbatim}
-
- Some packages such as Debian do not adhere to the standard of
- naming the library libqwt.a or libqwt.so, and you will either need
- to manually add a soft link to the name they use or use the
- depkgs version, which handles the naming correctly.
-
-
-\item [ {-}{-}enable-batch-insert ]
- \index[general]{{-}{-}enable-batch-insert}
+\item [ {-}{\-}enable-batch-insert ]
+ \index[general]{{-}{\-}enable-batch-insert}
This option enables batch inserts of the attribute records (default) in
the catalog database, which is much faster (10 times or more) than
without this option for large numbers of files. However, this option
Bacula always links to the thread safe MySQL libraries.
- As a default, Bacula runs SQLite3 with {\bf PRAGMA synchronous=OFF}
- because it improves performance by more than 30 times. However, it
- increases the possibility of a corrupted database. If you want more
- security, please modify src/version.h appropriately (it should be
- obvious when you look at the file).
-
Running with Batch Insert turned on is recommended because it can
significantly improve attribute insertion times. However, it does
put a significantly larger part of the work on your SQL engine, so
want to increase the memory available to your SQL engine to further
improve performance during Batch Inserts.
-\item [ {-}{-}enable-gnome ]
- \index[general]{{-}{-}enable-gnome}
- If you have GNOME installed on your computer including the
- GNOME development libraries, and you want to use the
- GNOME GUI Console interface to Bacula, you must specify this option.
- Doing so will build everything in the {\bf src/gnome2-console} directory.
-
-\item [ {-}{-}enable-bwx-console ]
- \index[general]{{-}{-}enable-bwx-console}
+\item [ {-}{\-}enable-bwx-console ]
+ \index[general]{{-}{\-}enable-bwx-console}
If you have wxWidgets installed on your computer and you want to use the
wxWidgets GUI Console interface to Bacula, you must specify this option.
Doing so will build everything in the {\bf src/wx-console} directory.
This could also be useful to users who want a GUI Console and don't want
- to install GNOME, as wxWidgets can work with GTK+, Motif or even X11
+ to install QT, as wxWidgets can work with GTK+, Motif or even X11
libraries.
-\item [ {-}{-}enable-tray-monitor ]
- \index[general]{{-}{-}enable-tray-monitor}
+\item [ {-}{\-}enable-tray-monitor ]
+ \index[general]{{-}{\-}enable-tray-monitor}
If you have GTK installed on your computer, you run a graphical
environment or a window manager compatible with the FreeDesktop system
tray standard (like KDE and GNOME) and you want to use a GUI to monitor
calls to the GTK+ API, and unfortunately, the tray icon API necessary
was not implemented until GTK version 2.10 or later.
-\item [ {-}{-}enable-static-tools]
- \index[general]{{-}{-}enable-static-tools}
+\item [ {-}{\-}enable-static-tools]
+ \index[general]{{-}{\-}enable-static-tools}
This option causes the linker to link the Storage daemon utility tools
({\bf bls}, {\bf bextract}, and {\bf bscan}) statically. This permits
using them without having the shared libraries loaded. If you have
not enabled this option, or explicitly disable static linking by adding
{\bf \verb:--:disable-static-tools}.
-\item [ {-}{-}enable-static-fd]
- \index[general]{{-}{-}enable-static-fd}
+\item [ {-}{\-}enable-static-fd]
+ \index[general]{{-}{\-}enable-static-fd}
This option causes the make process to build a {\bf static-bacula-fd} in
addition to the standard File daemon. This static version will include
statically linked libraries and is required for the Bare Metal recovery.
experience linking errors when this option is used. The first
thing to do is to make sure you have the static glibc library
installed on your system. The second thing to do is the make sure
- you do not specify {\bf {-}{-}openssl} or {\bf {-}{-}with-python}
+ you do not specify {\bf {-}{\-}openssl} or {\bf {-}{\-}with-python}
on your ./configure statement as these options require additional
libraries. You may be able to enable those options, but you will
need to load additional static libraries.
-\item [ {-}{-}enable-static-sd]
- \index[general]{{-}{-}enable-static-sd}
+\item [ {-}{\-}enable-static-sd]
+ \index[general]{{-}{\-}enable-static-sd}
This option causes the make process to build a {\bf static-bacula-sd} in
addition to the standard Storage daemon. This static version will
include statically linked libraries and could be useful during a Bare
experience linking errors when this option is used. The first
thing to do is to make sure you have the static glibc library
installed on your system. The second thing to do is the make sure
- you do not specify {\bf {-}{-}openssl} or {\bf {-}{-}with-python}
+ you do not specify {\bf {-}{\-}openssl} or {\bf {-}{\-}with-python}
on your ./configure statement as these options require additional
libraries. You may be able to enable those options, but you will
need to load additional static libraries.
-\item [ {-}{-}enable-static-dir]
- \index[general]{{-}{-}enable-static-dir}
+\item [ {-}{\-}enable-static-dir]
+ \index[general]{{-}{\-}enable-static-dir}
This option causes the make process to build a {\bf static-bacula-dir}
in addition to the standard Director. This static version will include
statically linked libraries and could be useful during a Bare Metal
experience linking errors when this option is used. The first
thing to do is to make sure you have the static glibc library
installed on your system. The second thing to do is the make sure
- you do not specify {\bf {-}{-}openssl} or {\bf {-}{-}with-python}
+ you do not specify {\bf {-}{\-}openssl} or {\bf {-}{\-}with-python}
on your ./configure statement as these options require additional
libraries. You may be able to enable those options, but you will
need to load additional static libraries.
-\item [ {-}{-}enable-static-cons]
- \index[general]{{-}{-}enable-static-cons}
- This option causes the make process to build a {\bf static-console} and
- a {\bf static-gnome-console} in addition to the standard console. This
- static version will include statically linked libraries and could be
- useful during a Bare Metal recovery.
+\item [ {-}{\-}enable-static-cons]
+ \index[general]{{-}{\-}enable-static-cons}
+ This option causes the make process to build a {\bf static-console} in
+ addition to the standard console. This static version will include
+ statically linked libraries and could be useful during a Bare Metal
+ recovery.
When linking a static binary, the linker needs the static versions
of all the libraries that are used, so frequently users will
experience linking errors when this option is used. The first
thing to do is to make sure you have the static glibc library
installed on your system. The second thing to do is the make sure
- you do not specify {\bf {-}{-}openssl} or {\bf {-}{-}with-python}
+ you do not specify {\bf {-}{\-}openssl} or {\bf {-}{\-}with-python}
on your ./configure statement as these options require additional
libraries. You may be able to enable those options, but you will
need to load additional static libraries.
-\item [ {-}{-}enable-client-only]
- \index[general]{{-}{-}enable-client-only}
+\item [ {-}{\-}enable-client-only]
+ \index[general]{{-}{\-}enable-client-only}
This option causes the make process to build only the File daemon and
the libraries that it needs. None of the other daemons, storage tools,
nor the console will be built. Likewise a {\bf make install} will then
experience linking errors when this option is used. The first
thing to do is to make sure you have the static glibc library
installed on your system. The second thing to do is the make sure
- you do not specify {\bf {-}{-}openssl} or {\bf {-}{-}with-python}
+ you do not specify {\bf {-}{\-}openssl} or {\bf {-}{\-}with-python}
on your ./configure statement as these options require additional
libraries. You may be able to enable those options, but you will
need to load additional static libraries.
-\item [ {-}{-}enable-build-dird]
- \index[general]{{-}{-}enable-build-dird}
+\item [ {-}{\-}enable-build-dird]
+ \index[general]{{-}{\-}enable-build-dird}
This option causes the make process to build the Director and the
Director's tools. By default, this option is on, but you may turn
- it off by using {\bf {-}{-}disable-build-dird} to prevent the
+ it off by using {\bf {-}{\-}disable-build-dird} to prevent the
Director from being built.
-\item [ {-}{-}enable-build-stored]
- \index[general]{{-}{-}enable-build-stored}
+\item [ {-}{\-}enable-build-stored]
+ \index[general]{{-}{\-}enable-build-stored}
This option causes the make process to build the Storage daemon.
By default, this option is on, but you may turn
- it off by using {\bf {-}{-}disable-build-stored} to prevent the
+ it off by using {\bf {-}{\-}disable-build-stored} to prevent the
Storage daemon from being built.
-\item [ {-}{-}enable-largefile]
- \index[general]{{-}{-}enable-largefile}
+\item [ {-}{\-}enable-largefile]
+ \index[general]{{-}{\-}enable-largefile}
This option (default) causes Bacula to be built with 64 bit file address
support if it is available on your system. This permits Bacula to read and
write files greater than 2 GBytes in size. You may disable this feature and
revert to 32 bit file addresses by using {\bf \verb:--:disable-largefile}.
-\item [ {-}{-}disable-nls]
- \index[general]{{-}{-}disable-nls}
+\item [ {-}{\-}disable-nls]
+ \index[general]{{-}{\-}disable-nls}
By default, Bacula uses the GNU Native Language Support (NLS) libraries. On
some machines, these libraries may not be present or may not function
correctly (especially on non-Linux implementations). In such cases, you
- may specify {\bf {-}{-}disable-nls} to disable use of those libraries.
+ may specify {\bf {-}{\-}disable-nls} to disable use of those libraries.
In such a case, Bacula will revert to using English.
-\item [ {-}{-}disable-ipv6 ]
- \index[general]{{-}{-}disable-ipv6}
+\item [ {-}{\-}disable-ipv6 ]
+ \index[general]{{-}{\-}disable-ipv6}
By default, Bacula enables IPv6 protocol. On some systems, the files
for IPv6 may exist, but the functionality could be turned off in the
kernel. In that case, in order to correctly build Bacula, you will
explicitly need to use this option so that Bacula does not attempt
to reference OS function calls that do not exist.
-\item [ {-}{-}with-sqlite=\lt{}sqlite-path\gt{}]
- \index[general]{{-}{-}with-sqlite}
- This enables use of the SQLite version 2.8.x database. The {\bf
- sqlite-path} is not normally specified as Bacula looks for the necessary
- components in a standard location ({\bf depkgs/sqlite}). See
- \ilink{Installing and Configuring SQLite}{SqlLiteChapter} chapter of
- this manual for more details. SQLite is not supported on Solaris.
-
- See the note below under the {-}{-}with-postgresql item.
-
-\item [ {-}{-}with-sqlite3=\lt{}sqlite3-path\gt{}]
- \index[general]{{-}{-}with-sqlite3}
+\item [ {-}{\-}with-sqlite3=\lt{}sqlite3-path\gt{}]
+ \index[general]{{-}{\-}with-sqlite3}
This enables use of the SQLite version 3.x database. The {\bf
sqlite3-path} is not normally specified as Bacula looks for the
necessary components in a standard location ({\bf depkgs/sqlite3}). See
\ilink{Installing and Configuring SQLite}{SqlLiteChapter} chapter of
this manual for more details. SQLite3 is not supported on Solaris.
-\item [ {-}{-}with-mysql=\lt{}mysql-path\gt{}]
- \index[general]{{-}{-}with-mysql}
+\item [ {-}{\-}with-mysql=\lt{}mysql-path\gt{}]
+ \index[general]{{-}{\-}with-mysql}
This enables building of the Catalog services for Bacula. It assumes
that MySQL is running on your system, and expects it to be installed in
the {\bf mysql-path} that you specify. Normally, if MySQL is installed
- in a standard system location, you can simply use {\bf {-}{-}with-mysql}
+ in a standard system location, you can simply use {\bf {-}{\-}with-mysql}
with no path specification. If you do use this option, please proceed
to installing MySQL in the \ilink{Installing and Configuring
MySQL}{MySqlChapter} chapter before proceeding with the configuration.
- See the note below under the {-}{-}with-postgresql item.
+ See the note below under the {-}{\-}with-postgresql item.
-\item [ {-}{-}with-postgresql=\lt{}path\gt{}]
- \index[general]{{-}{-}with-postgresql}
+\item [ {-}{\-}with-postgresql=\lt{}path\gt{}]
+ \index[general]{{-}{\-}with-postgresql}
This provides an explicit path to the PostgreSQL libraries if Bacula
cannot find it by default. Normally to build with PostgreSQL, you would
- simply use {\bf {-}{-}with-postgresql}.
+ simply use {\bf {-}{\-}with-postgresql}.
Note, for Bacula to be configured properly, you must specify one
of the four database options supported. That is:
- {-}{-}with-sqlite, {-}{-}with-sqlite3, {-}{-}with-mysql, or
- {-}{-}with-postgresql, otherwise the ./configure will fail.
+ {-}{\-}with-sqlite, {-}{\-}with-sqlite3, {-}{\-}with-mysql, or
+ {-}{\-}with-postgresql, otherwise the ./configure will fail.
-\item [ {-}{-}with-openssl=\lt{}path\gt{}]
+\item [ {-}{\-}with-openssl=\lt{}path\gt{}]
This configuration option is necessary if you want to enable TLS (ssl),
which encrypts the communications within
Bacula or if you want to use File Daemon PKI data encryption.
\ilink{Bacula PKI -- Data Encryption}{DataEncryption}
chapter of this manual.
-\item [ {-}{-}with-python=\lt{}path\gt{}]
- \index[general]{{-}{-}with-python}
+\item [ {-}{\-}with-python=\lt{}path\gt{}]
+ \index[general]{{-}{\-}with-python}
This option enables Bacula support for Python. If no path is supplied,
configure will search the standard library locations for Python 2.2,
2.3, 2.4, or 2.5. If it cannot find the library, you will need to
\ilink{Python chapter}{PythonChapter} for the details of using Python
scripting.
-\item [ {-}{-}with-libintl-prefix=\lt{}DIR\gt{}]
- \index[general]{{-}{-}with-libintl-prefix}
+\item [ {-}{\-}with-libintl-prefix=\lt{}DIR\gt{}]
+ \index[general]{{-}{\-}with-libintl-prefix}
This option may be used to tell Bacula to search DIR/include and
DIR/lib for the libintl headers and libraries needed for Native
Language Support (NLS).
-\item [ {-}{-}enable-conio]
- \index[general]{{-}{-}enable-conio}
+\item [ {-}{\-}enable-conio]
+ \index[general]{{-}{\-}enable-conio}
Tells Bacula to enable building the small, light weight readline
replacement routine. It is generally much easier to configure than
readline, although, like readline, it needs either the termcap or
ncurses library.
-\item [ {-}{-}with-readline=\lt{}readline-path\gt{}]
- \index[general]{{-}{-}with-readline}
+\item [ {-}{\-}with-readline=\lt{}readline-path\gt{}]
+ \index[general]{{-}{\-}with-readline}
Tells Bacula where {\bf readline} is installed. Normally, Bacula will
find readline if it is in a standard library. If it is not found and no
- {-}{-}with-readline is specified, readline will be disabled. This
+ {-}{\-}with-readline is specified, readline will be disabled. This
option affects the Bacula build. Readline provides the Console program
with a command line history and editing capability and is no longer
supported, so you are on your own if you have problems.
-\item [ {-}{-}enable-readline]
- \index[general]{{-}{-}enable-readline}
+\item [ {-}{\-}enable-readline]
+ \index[general]{{-}{\-}enable-readline}
Tells Bacula to enable readline support. It is normally disabled due to the
large number of configuration problems and the fact that the package seems to
change in incompatible ways from version to version.
-\item [ {-}{-}with-tcp-wrappers=\lt{}path\gt{}]
- \index[general]{{-}{-}with-tcp-wrappers}
+\item [ {-}{\-}with-tcp-wrappers=\lt{}path\gt{}]
+ \index[general]{{-}{\-}with-tcp-wrappers}
\index[general]{TCP Wrappers}
\index[general]{Wrappers!TCP}
\index[general]{libwrappers}
contained in the tcpd-devel package. On Red Hat, the package is named
tcp\_wrappers.
-\item [ {-}{-}with-archivedir=\lt{}path\gt{} ]
- \index[general]{{-}{-}with-archivedir}
+\item [ {-}{\-}with-archivedir=\lt{}path\gt{} ]
+ \index[general]{{-}{\-}with-archivedir}
The directory used for disk-based backups. Default value is /tmp.
This parameter sets the default values in the bacula-dir.conf and bacula-sd.conf
configuration files. For example, it sets the Where directive for the
This option is designed primarily for use in regression testing.
Most users can safely ignore this option.
-\item [ {-}{-}with-working-dir=\lt{}working-directory-path\gt{} ]
- \index[general]{{-}{-}with-working-dir}
+\item [ {-}{\-}with-working-dir=\lt{}working-directory-path\gt{} ]
+ \index[general]{{-}{\-}with-working-dir}
This option is mandatory and specifies a directory into which Bacula may
safely place files that will remain between Bacula executions. For example,
if the internal database is used, Bacula will keep those files in this
The working directory is not automatically created by the install process, so
you must ensure that it exists before using Bacula for the first time.
-\item [ {-}{-}with-base-port=\lt{}port=number\gt{}]
- \index[general]{{-}{-}with-base-port}
+\item [ {-}{\-}with-base-port=\lt{}port=number\gt{}]
+ \index[general]{{-}{\-}with-base-port}
In order to run, Bacula needs three TCP/IP ports (one for the Bacula
Console, one for the Storage daemon, and one for the File daemon). The {\bf
\verb:--:with-baseport} option will automatically assign three ports beginning at
IANA. This option is only used to modify the daemon configuration files. You
may also accomplish the same thing by directly editing them later.
-\item [ {-}{-}with-dump-email=\lt{}email-address\gt{}]
- \index[general]{{-}{-}with-dump-email}
+\item [ {-}{\-}with-dump-email=\lt{}email-address\gt{}]
+ \index[general]{{-}{\-}with-dump-email}
This option specifies the email address where any core dumps should be set.
This option is normally only used by developers.
-\item [ {-}{-}with-pid-dir=\lt{}PATH\gt{} ]
- \index[general]{{-}{-}with-pid-dir}
+\item [ {-}{\-}with-pid-dir=\lt{}PATH\gt{} ]
+ \index[general]{{-}{\-}with-pid-dir}
This specifies where Bacula should place the process id file during
execution. The default is: {\bf /var/run}. This directory is not created by
the install process, so you must ensure that it exists before using Bacula
the first time.
-\item [ {-}{-}with-subsys-dir=\lt{}PATH\gt{}]
- \index[general]{{-}{-}with-subsys-dir}
+\item [ {-}{\-}with-subsys-dir=\lt{}PATH\gt{}]
+ \index[general]{{-}{\-}with-subsys-dir}
This specifies where Bacula should place the subsystem lock file during
execution. The default is {\bf /var/run/subsys}. Please make sure that you do
not specify the same directory for this directory and for the {\bf sbindir}
subsys directory is not created by the Bacula install, so you must be sure to
create it before using Bacula.
-\item [ {-}{-}with-dir-password=\lt{}Password\gt{}]
- \index[general]{{-}{-}with-dir-password}
+\item [ {-}{\-}with-dir-password=\lt{}Password\gt{}]
+ \index[general]{{-}{\-}with-dir-password}
This option allows you to specify the password used to access the Director
(normally from the Console program). If it is not specified, configure will
automatically create a random password.
-\item [ {-}{-}with-fd-password=\lt{}Password\gt{} ]
- \index[general]{{-}{-}with-fd-password}
+\item [ {-}{\-}with-fd-password=\lt{}Password\gt{} ]
+ \index[general]{{-}{\-}with-fd-password}
This option allows you to specify the password used to access the File daemon
(normally called from the Director). If it is not specified, configure will
automatically create a random password.
-\item [ {-}{-}with-sd-password=\lt{}Password\gt{} ]
- \index[general]{{-}{-}with-sd-password}
+\item [ {-}{\-}with-sd-password=\lt{}Password\gt{} ]
+ \index[general]{{-}{\-}with-sd-password}
This option allows you to specify the password used to access the Storage daemon
(normally called from the Director). If it is not specified, configure will
automatically create a random password.
-\item [ {-}{-}with-dir-user=\lt{}User\gt{} ]
- \index[general]{{-}{-}with-dir-user}
+\item [ {-}{\-}with-dir-user=\lt{}User\gt{} ]
+ \index[general]{{-}{\-}with-dir-user}
This option allows you to specify the Userid used to run the Director. The
Director must be started as root, but doesn't need to run as root, and
after doing preliminary initializations, it can "drop" to the UserId
create the User prior to running {\bf make install}, because the
working directory owner will be set to {\bf User}.
-\item [ {-}{-}with-dir-group=\lt{}Group\gt{} ]
- \index[general]{{-}{-}with-dir-group}
+\item [ {-}{\-}with-dir-group=\lt{}Group\gt{} ]
+ \index[general]{{-}{\-}with-dir-group}
This option allows you to specify the GroupId used to run the Director. The
Director must be started as root, but doesn't need to run as root, and after
doing preliminary initializations, it can "drop" to the GroupId specified
create the Group prior to running {\bf make install}, because the
working directory group will be set to {\bf Group}.
-\item [ {-}{-}with-sd-user=\lt{}User\gt{} ]
- \index[general]{{-}{-}with-sd-user}
+\item [ {-}{\-}with-sd-user=\lt{}User\gt{} ]
+ \index[general]{{-}{\-}with-sd-user}
This option allows you to specify the Userid used to run the Storage daemon.
The Storage daemon must be started as root, but doesn't need to run as root,
and after doing preliminary initializations, it can "drop" to the UserId
that the Storage daemon has access to all the devices (tape drives, ...) that
it needs.
-\item [ {-}{-}with-sd-group=\lt{}Group\gt{} ]
- \index[general]{{-}{-}with-sd-group}
+\item [ {-}{\-}with-sd-group=\lt{}Group\gt{} ]
+ \index[general]{{-}{\-}with-sd-group}
This option allows you to specify the GroupId used to run the Storage daemon.
The Storage daemon must be started as root, but doesn't need to run as root,
and after doing preliminary initializations, it can "drop" to the GroupId
specified on this option.
-\item [ {-}{-}with-fd-user=\lt{}User\gt{} ]
- \index[general]{{-}{-}with-fd-user}
+\item [ {-}{\-}with-fd-user=\lt{}User\gt{} ]
+ \index[general]{{-}{\-}with-fd-user}
This option allows you to specify the Userid used to run the File daemon. The
File daemon must be started as root, and in most cases, it needs to run as
root, so this option is used only in very special cases, after doing
preliminary initializations, it can "drop" to the UserId specified on this
option.
-\item [ {-}{-}with-fd-group=\lt{}Group\gt{} ]
- \index[general]{{-}{-}with-fd-group}
+\item [ {-}{\-}with-fd-group=\lt{}Group\gt{} ]
+ \index[general]{{-}{\-}with-fd-group}
This option allows you to specify the GroupId used to run the File daemon.
The File daemon must be started as root, and in most cases, it must be run as
root, however, after doing preliminary initializations, it can "drop" to
the GroupId specified on this option.
-\item [ {-}{-}with-mon-dir-password=\lt{}Password\gt{}]
- \index[general]{{-}{-}with-mon-dir-password}
+\item [ {-}{\-}with-mon-dir-password=\lt{}Password\gt{}]
+ \index[general]{{-}{\-}with-mon-dir-password}
This option allows you to specify the password used to access the Directory
from the monitor. If it is not specified, configure will
automatically create a random password.
-\item [ {-}{-}with-mon-fd-password=\lt{}Password\gt{} ]
- \index[general]{{-}{-}with-mon-fd-password}
+\item [ {-}{\-}with-mon-fd-password=\lt{}Password\gt{} ]
+ \index[general]{{-}{\-}with-mon-fd-password}
This option allows you to specify the password used to access the File daemon
from the Monitor. If it is not specified, configure will
automatically create a random password.
-\item [ {-}{-}with-mon-sd-password=\lt{}Password\gt{} ]
- \index[general]{{-}{-}with-mon-sd-password}
+\item [ {-}{\-}with-mon-sd-password=\lt{}Password\gt{} ]
+ \index[general]{{-}{\-}with-mon-sd-password}
This option allows you to specify the password used to access the
Storage daemon from the Monitor. If it is not specified, configure will
automatically create a random password.
-\item [ {-}{-}with-db-name=\lt{}database-name\gt{} ]
- \index[general]{{-}{-}with-db-name}
+\item [ {-}{\-}with-db-name=\lt{}database-name\gt{} ]
+ \index[general]{{-}{\-}with-db-name}
This option allows you to specify the database name to be used in
the conf files. The default is bacula.
-\item [ {-}{-}with-db-user=\lt{}database-user\gt{} ]
- \index[general]{{-}{-}with-db-user}
+\item [ {-}{\-}with-db-user=\lt{}database-user\gt{} ]
+ \index[general]{{-}{\-}with-db-user}
This option allows you to specify the database user name to be used in
the conf files. The default is bacula.
--with-pid-dir=$HOME/bacula/bin/working \
--with-subsys-dir=$HOME/bacula/bin/working \
--enable-bat \
- --with-qwt=$HOME/bacula/depkgs/qwt \
--enable-conio
\end{verbatim}
\normalsize
--with-working-dir=$HOME/bacula/working
--with-pid-dir=$HOME/bacula/bin/working \
--with-subsys-dir=$HOME/bacula/bin/working
- --enable-gnome \
--enable-conio
\end{verbatim}
\normalsize
--with-scriptdir=/etc/bacula \
--enable-smartalloc \
--enable-bat \
- --with-qwt=$HOME/bacula/depkgs/qwt \
--with-mysql \
--with-working-dir=/var/bacula \
--with-pid-dir=/var/run \
--sysconfdir=$HOME/bacula/bin \
--mandir=$HOME/bacula/bin \
--enable-smartalloc \
- --enable-gnome \
--enable-bat \
- --with-qwt=$HOME/bacula/depkgs/qwt \
--enable-bwx-console \
--enable-tray-monitor \
--with-pid-dir=$HOME/bacula/bin/working \
After doing a {\bf make install} the following files will be installed on your
system (more or less). The exact files and location (directory) for each file
-depends on your {\bf ./configure} command (e.g. bgnome-console and
-bgnome-console.conf are not installed if you do not configure GNOME. Also, if
-you are using SQLite instead of MySQL, some of the files will be different).
+depends on your {\bf ./configure} command (e.g. if you are using SQLite instead
+of MySQL, some of the files will be different).
NOTE: it is quite probable that this list is out of date. But it is a
starting point.
delete_catalog_backup
drop_bacula_tables
drop_mysql_tables
-bgnome-console
-bgnome-console.conf
make_bacula_tables
make_catalog_backup
make_mysql_tables
\index[general]{License!GNU Lesser General Public }
\elink{image of a Philosophical GNU}
-{\url{http://www.gnu.org/graphics/philosophicalgnu.html}} [
-\elink{English}{\url{http://www.gnu.org/copyleft/lesser.html}} |
-\elink{Japanese}{\url{http://www.gnu.org/copyleft/lesser.ja.html}} ]
+{http://www.gnu.org/graphics/philosophicalgnu.html} [
+\elink{English}{http://www.gnu.org/copyleft/lesser.html} |
+\elink{Japanese}{http://www.gnu.org/copyleft/lesser.ja.html} ]
\begin{itemize}
\item
\elink{Why you shouldn't use the Lesser GPL for your next
- library}{\url{http://www.gnu.org/philosophy/why-not-lgpl.html}}
+ library}{http://www.gnu.org/philosophy/why-not-lgpl.html}
\item
\elink{What to do if you see a possible LGPL
- violation}{\url{http://www.gnu.org/copyleft/gpl-violation.html}}
+ violation}{http://www.gnu.org/copyleft/gpl-violation.html}
\item
\elink{Translations of the LGPL}
-{\url{http://www.gnu.org/copyleft/copyleft.html\#translationsLGPL}}
+{http://www.gnu.org/copyleft/copyleft.html\#translationsLGPL}
\item The GNU Lesser General Public License as a
- \elink{text file}{\url{http://www.gnu.org/copyleft/lesser.txt}}
+ \elink{text file}{http://www.gnu.org/copyleft/lesser.txt}
\item The GNU Lesser General Public License as a
- \elink{Texinfo}{\url{http://www.gnu.org/copyleft/lesser.texi}} file
+ \elink{Texinfo}{http://www.gnu.org/copyleft/lesser.texi} file
\end{itemize}
Library General Public License. For an explanation of why this change was
necessary, read the
\elink{Why you shouldn't use the Lesser GPL for your next
-library}{\url{http://www.gnu.org/philosophy/why-not-lgpl.html}} article.
+library}{http://www.gnu.org/philosophy/why-not-lgpl.html} article.
\section{Table of Contents}
\index[general]{Table of Contents }
That's all there is to it!
Return to
-\elink{GNU's home page}{\url{http://www.gnu.org/home.html}}.
+\elink{GNU's home page}{http://www.gnu.org/home.html}.
FSF \& GNU inquiries \& questions to
\elink{gnu@gnu.org}{mailto:gnu@gnu.org}. Other
-\elink{ways to contact}{\url{http://www.gnu.org/home.html\#ContactInfo}} the FSF.
+\elink{ways to contact}{http://www.gnu.org/home.html\#ContactInfo} the FSF.
Comments on these web pages to
\elink{webmasters@www.gnu.org}{mailto:webmasters@www.gnu.org}, send other
If you have a printed copy of this manual, the details of each of
the licenses referred to in this chapter can be found in the
online version of the manual at
-\elink{http://www.bacula.org}{\url{http://www.bacula.org}}.
+\elink{http://www.bacula.org}{http://www.bacula.org}.
\section{FDL}
\index[general]{FDL }
if you would send any corrections or changes to the Bacula project.
The most recent version of the manual can always be found online
-at \elink{http://www.bacula.org}{\url{http://www.bacula.org}}.
+at \elink{http://www.bacula.org}{http://www.bacula.org}.
\section{GPL}
\index[general]{GPL }
project) has the rights to the code. This Fiduciary License Agreement
is found on the Bacula web site at:
-\elink{http://www.bacula.org/en/FLA-bacula.en.pdf}{\url{http://www.bacula.org/en/FLA-bacula.en.pdf}}
+\elink{http://www.bacula.org/en/FLA-bacula.en.pdf}{http://www.bacula.org/en/FLA-bacula.en.pdf}
and if you are submitting code, you should fill it out then sent to:
-%%
-
-%%
-
-\chapter{New Features in 3.1.4 (Development Version}
+\chapter{New Features in 5.0.0}
\label{NewFeaturesChapter}
-This chapter presents the new features that are currently under development
-in the 3.1.x versions to be released as Bacula version 3.2.0 sometime in
-late 2009 or early 2010.
+This chapter presents the new features that are in the
+released Bacula version 5.0.0.
\section{Truncate volume after purge}
\label{sec:actiononpurge}
Jobs on any other available compatible drive. This facilitates writing to
multiple drives with multiple Jobs that all use the same Pool.
+This project was funded by Bacula Systems.
+
\section{Restore from Multiple Storage Daemons}
\index[general]{Restore}
\end{verbatim}
\begin{description}
-\item {\bf i}
- compare the inodes
-
-\item {\bf p}
- compare the permission bits
-
-\item {\bf n}
- compare the number of links
-
-\item {\bf u}
- compare the user id
-
-\item {\bf g}
- compare the group id
-
-\item {\bf s}
- compare the size
-
-\item {\bf a}
- compare the access time
-
-\item {\bf m}
- compare the modification time (st\_mtime)
-
-\item {\bf c}
- compare the change time (st\_ctime)
-
-\item {\bf d}
- report file size decreases
-
-\item {\bf 5}
- compare the MD5 signature
-
-\item {\bf 1}
- compare the SHA1 signature
+\item {\bf i} compare the inodes
+\item {\bf p} compare the permission bits
+\item {\bf n} compare the number of links
+\item {\bf u} compare the user id
+\item {\bf g} compare the group id
+\item {\bf s} compare the size
+\item {\bf a} compare the access time
+\item {\bf m} compare the modification time (st\_mtime)
+\item {\bf c} compare the change time (st\_ctime)
+\item {\bf d} report file size decreases
+\item {\bf 5} compare the MD5 signature
+\item {\bf 1} compare the SHA1 signature
\end{description}
\textbf{Important note:} If you decide to use checksum in Accurate jobs,
deduplication. By default, Bacula will check modification/creation time
and size.
+This project was funded by Bacula Systems.
+
\section{Tab-completion for Bconsole}
\label{sec:tabcompletion}
The new bconsole won't be able to tab-complete with older directors.
+This project was funded by Bacula Systems.
+
+\section{Pool File and Job retention}
+\label{sec:poolfilejobretention}
+
+% TODO check
+We added two new Pool directives, \texttt{FileRetention} and
+\texttt{JobRetention}, that take precedence over Client directives of the same
+name. It allows you to control the Catalog pruning algorithm Pool by Pool. For
+example, you can decide to increase Retention times for Archive or OffSite Pool.
+
+\section{Read-only File Daemon using capabilities}
+\label{sec:fdreadonly}
+This feature implements support of keeping \textbf{ReadAll} capabilities after
+UID/GID switch, this allows FD to keep root read but drop write permission.
+
+It introduces new \texttt{bacula-fd} option (\texttt{-k}) specifying that
+\textbf{ReadAll} capabilities should be kept after UID/GID switch.
+
+\begin{verbatim}
+root@localhost:~# bacula-fd -k -u nobody -g nobody
+\end{verbatim}
+
+The code for this feature was contributed by AltLinux.
+
\section{Bvfs API}
\label{sec:bvfs}
* .bvfs_lsdir path=/ jobid=1,2
\end{verbatim}
+This project was funded by Bacula Systems.
+
\section{Testing your Tape Drive}
\label{sec:btapespeed}
\section{New Bat Features}
+Those new features were funded by Bacula Systems.
+
\subsection{Media List View}
By clicking on ``Media'', you can see the list of all your volumes. You will be
\label{fig:achcontent}
\end{figure}
-\section{Console Timeout Option}
-You can now use the -u option of bconsole to set a timeout for each command.
+To use this feature, you need to use the latest mtx-changer script
+version. (With new \texttt{listall} and \texttt{transfer} commands)
+
+\section{Bat on Windows}
+We have ported {\bf bat} to Windows and it is now installed
+by default when the installer is run. It works quite well
+on Win32, but has not had a lot of testing there, so your
+feedback would be welcome. Unfortunately, eventhough it is
+installed by default, it does not yet work on 64 bit Windows
+operating systems.
+
+\section{New Win32 Installer}
+The Win32 installer has been modified in several very important
+ways.
+\begin{itemize}
+\item You must deinstall any current version of the
+Win32 File daemon before upgrading to the new one.
+If you forget to do so, the new installation will fail.
+To correct this failure, you must manually shutdown
+and deinstall the old File daemon.
+\item All files (other than menu links) are installed
+in {\bf c:/Program Files/Bacula}.
+\item The installer no longer sets this
+file to require administrator privileges by default. If you want
+to do so, please do it manually using the {\bf cacls} program.
+For example:
+\begin{verbatim}
+cacls "C:\Program Files\Bacula" /T /G SYSTEM:F Administrators:F
+\end{verbatim}
+\item The server daemons (Director and Storage daemon) are
+no longer included in the Windows installer. If you want the
+Windows servers, you will either need to build them yourself (note
+they have not been ported to 64 bits), or you can contact
+Bacula Systems about this.
+\end{itemize}
+
+\section{Win64 Installer}
+We have corrected a number of problems that required manual
+editing of the conf files. In most cases, it should now
+install and work. {\bf bat} is by default installed in
+{\bf c:/Program Files/Bacula/bin32} rather than
+{\bf c:/Program Files/Bacula} as is the case with the 32
+bit Windows installer.
+
+\section{Bare Metal Recovery USB Key}
+We have made a number of significant improvements in the
+Bare Metal Recovery USB key. Please see the README files
+it the {\bf rescue} release for more details.
+
+
+
+\section{bconsole Timeout Option}
+You can now use the -u option of {\bf bconsole} to set a timeout in seconds
+for commands. This is useful with GUI programs that use {\bf bconsole}
+to interface to the Director.
+
+\section{Important Changes}
+\label{sec:importantchanges}
+
+\begin{itemize}
+\item You are now allowed to Migrate, Copy, and Virtual Full to read and write
+ to the same Pool. The Storage daemon ensures that you do not read and
+ write to the same Volume.
+\item The \texttt{Device Poll Interval} is now 5 minutes. (previously did not
+ poll by default).
+\item The new \texttt{mtx-changer} script has two new options, \texttt{listall}
+ and \texttt{transfer}. Be sure to apply any custom changes on to the
+ mtx-changer script, or better yet, use mtx-changer.conf to configure
+ them.
+\item To enhance security of the \texttt{BackupCatalog} job, we provide a new
+ script (\texttt{make\_catalog\_backup.pl}) that does not expose your catalog
+ password. If you want to use the new script, you will need to
+ manually change the \texttt{BackupCatalog} Job definition.
+\item The \texttt{bconsole} \texttt{help} command now accepts
+ an argument, which if provided produces information on that
+ command (ex: \texttt{help run}).
+\end{itemize}
+
+\subsection{Custom Catalog queries}
+
+If you wish to add specialized commands that list the contents of the catalog,
+you can do so by adding them to the \texttt{query.sql} file. This
+\texttt{query.sql} file is now empty by default. The file
+\texttt{examples/sample-query.sql} has an a number of sample commands
+you might find useful.
+
+\subsection{Deprecated parts}
+
+The following items have been \textbf{deprecated} for a long time, and are now
+removed from the code.
+\begin{itemize}
+\item Gnome console
+\item Support for SQLite 2
+\end{itemize}
+
+\section{Misc Changes}
+\label{sec:miscchanges}
+
+\begin{itemize}
+\item Updated Nagios check\_bacula
+\item Updated man files
+\item Added OSX package generation script in platforms/darwin
+\item Added Spanish and Ukrainian Bacula translations
+\item Enable/disable command shows only Jobs that can change
+\item Added \texttt{show disabled} command to show disabled Jobs
+\item Many ACL improvements
+\item Added Level to FD status Job output
+\item Begin Ingres DB driver (not yet working)
+\item Split RedHat spec files into bacula, bat, mtx, and docs
+\item Reorganized the manuals (fewer separate manuals)
+\item Added lock/unlock order protection in lock manager
+\item Allow 64 bit sizes for a number of variables
+\item Fixed several deadlocks or potential race conditions in the SD
+\end{itemize}
+
+\chapter{Released Version 3.0.3 and 3.0.3a}
+
+There are no new features in version 3.0.3. This version simply fixes a
+number of bugs found in version 3.0.2 during the onging development
+process.
\chapter{New Features in Released Version 3.0.2}
{\bf \verb:--:sysconfdir} option that you specified on the {\bf
./configure} command and by default is named {\bf bconsole.conf}.
-If you choose to build the GNOME console with the {\bf
-\verb:--:enable-gnome} option, you also find a default configuration file
-for it, named {\bf bgnome-console.conf}.
-
The same applies to the wxWidgets console, which is build with the {\bf
\verb:--:enable-bwx-console} option, and the name of the default
configuration file is, in this case, {\bf bwx-console.conf}.
./bacula-fd -t -c bacula-fd.conf
./bacula-sd -t -c bacula-sd.conf
./bconsole -t -c bconsole.conf
-./bgnome-console -t -c bgnome-console.conf
./bwx-console -t -c bwx-console.conf
./bat -t -c bat.conf
su <normal user> -c "./bacula-tray-monitor -t -c tray-monitor.conf"
but better test than be sorry. For FreeBSD (and probably other xBSD
flavors), reading the above mentioned tape testing chapter is a must.
Also, for FreeBSD, please see \elink{The FreeBSD
-Diary}{\url{http://www.freebsddiary.org/bacula.php}} for a detailed description
+Diary}{http://www.freebsddiary.org/bacula.php} for a detailed description
%TODO: fix elink so it shows URL in PDF
on how to make Bacula work on your system. In addition, users of FreeBSD
prior to 4.9-STABLE dated Mon Dec 29 15:18:01 2003 UTC who plan to use tape
\begin{itemize}
\item MySQL 4.1
\item PostgreSQL 7.4
- \item SQLite 2.8.16 or SQLite 3
+ \item SQLite 3
\end{itemize}
\item If you want to build the Win32 binaries, please see the
GNOME 1.4 is no longer supported.
\item The wxWidgets Console program is developed and tested with the latest
stable ANSI or Unicode version of
- \elink{wxWidgets}{\url{http://www.wxwidgets.org/}} (2.6.1). It works fine with the
+ \elink{wxWidgets}{http://www.wxwidgets.org} (2.6.1). It works fine with the
Windows and GTK+-2.x version of wxWidgets, and should also work on other
platforms supported by wxWidgets.
\item The Tray Monitor program is developed for GTK+-2.x. It needs GNOME less
or equal to 2.2, KDE greater or equal to 3.1 or any window manager supporting
the
\elink{ FreeDesktop system tray
- standard}{\url{http://www.freedesktop.org/Standards/systemtray-spec}}.
+ standard}{http://www.freedesktop.org/Standards/systemtray-spec}.
\item If you want to enable command line editing and history, you will need
to have /usr/include/termcap.h and either the termcap or the ncurses library
loaded (libtermcap-devel or ncurses-devel).
\item If you want to use DVD as backup medium, you will need to download the
- \elink{dvd+rw-tools 5.21.4.10.8}{\url{http://fy.chalmers.se/~appro/linux/DVD+RW/}},
+ \elink{dvd+rw-tools 5.21.4.10.8}{http://fy.chalmers.se/~appro/linux/DVD+RW/},
apply the patch that is in the {\bf patches} directory of the main
source tree
to make these tools compatible with Bacula, then compile and install them.
A new tool is provided in the form of a bacula plugin for the BartPE rescue
CD. BartPE is a self-contained WindowsXP boot CD which you can make using the
PeBuilder tools available at
-\elink{http://www.nu2.nu/pebuilder/}{\url{http://www.nu2.nu/pebuilder/}} and a valid
+\elink{http://www.nu2.nu/pebuilder/}{http://www.nu2.nu/pebuilder/} and a valid
Windows XP SP1 CDROM. The plugin is provided as a zip archive. Unzip the file
and copy the bacula directory into the plugin directory of your BartPE
installation. Edit the configuration files to suit your installation and build
restores to alternate directories because higher level directories were not
backed up by Bacula, you can correct any problems with the {\bf SetACL}
available under the GPL license at:
-\elink{http://sourceforge.net/projects/setacl/}{\url{http://sourceforge.net/project%
-s/setacl/}}.
+\elink{http://sourceforge.net/projects/setacl/}{http://sourceforge.net/project%
+s/setacl/}.
\section{Alternate Disaster Recovery Suggestion for Win32 Systems}
\index[general]{Systems!Alternate Disaster Recovery Suggestion for Win32}
Many thanks to Charles Curley who wrote
\elink{Linux Complete Backup and Recovery HOWTO}
-{\url{http://www.tldp.org/HOWTO/Linux-Complete-Backup-and-Recovery-HOWTO/index.html%
-}} for the
-\elink{The Linux Documentation Project}{\url{http://www.tldp.org/}}. This is an
+{http://www.tldp.org/HOWTO/Linux-Complete-Backup-and-Recovery-HOWTO/index.html%
+} for the
+\elink{The Linux Documentation Project}{http://www.tldp.org/}. This is an
excellent document on how to do Bare Metal Recovery on Linux systems, and it
was this document that made me realize that Bacula could do the same thing.
You can find quite a few additional resources, both commercial and free at
-\elink{Storage Mountain}{\url{http://www.backupcentral.com}}, formerly known as
+\elink{Storage Mountain}{http://www.backupcentral.com}, formerly known as
Backup Central.
And finally, the O'Reilly book, "Unix Backup \& Recovery" by W. Curtis
be restored if you want the directory entries properly restored.
\item The {\bf bextract} program does not restore access control lists
- (ACLs), nor will it restore non-portable Win32 data (default) to Unix
- machines.
+ (ACLs) to Unix machines.
\end{itemize}
\label{Windows}
\begin{description}
\item [cd]
- The {\bf cd} command changes the current directory to the argument
- specified.
- It operates much like the Unix {\bf cd} command. Wildcard specifications are
- not permitted.
+ The {\bf cd} command changes the current directory to the argument specified.
+ It operates much like the Unix {\bf cd} command. Wildcard specifications are
+ not permitted.
- Note, on Windows systems, the various drives (c:, d:, ...) are treated like
- a
- directory within the file tree while in the file selection mode. As a
- consequence, you must do a {\bf cd c:} or possibly in some cases a {\bf cd
- C:} (note upper case) to get down to the first directory.
+ Note, on Windows systems, the various drives (c:, d:, ...) are treated like a
+ directory within the file tree while in the file selection mode. As a
+ consequence, you must do a {\bf cd c:} or possibly in some cases a {\bf cd
+ C:} (note upper case) to get down to the first directory.
\item [dir]
\index[dir]{dir }
- The {\bf dir} command is similar to the {\bf ls} command, except that it
- prints it in long format (all details). This command can be a bit slower
- than
- the {\bf ls} command because it must access the catalog database for the
- detailed information for each file.
+ The {\bf dir} command is similar to the {\bf ls} command, except that it
+ prints it in long format (all details). This command can be a bit slower
+ than the {\bf ls} command because it must access the catalog database for
+ the detailed information for each file.
\item [estimate]
\index[dir]{estimate }
- The {\bf estimate} command prints a summary of the total files in the tree,
- how many are marked to be restored, and an estimate of the number of bytes
- to
- be restored. This can be useful if you are short on disk space on the
- machine
- where the files will be restored.
+ The {\bf estimate} command prints a summary of the total files in the tree,
+ how many are marked to be restored, and an estimate of the number of bytes
+ to be restored. This can be useful if you are short on disk space on the
+ machine where the files will be restored.
\item [find]
\index[dir]{find}
(sometimes called multiplexing).
\item Job sequencing using priorities.
\item \ilink{Console}{UADef} interface to the Director allowing complete
- control. A shell, Qt4 GUI, GNOME GUI and wxWidgets GUI versions of
+ control. A shell, Qt4 GUI, wxWidgets GUI and Web versions of
the Console program are available. Note, the Qt4 GUI program called
the Bacula Administration tool or bat, offers many additional
features over the shell program.
automated for Linux systems and partially automated for Solaris. See
\ilink{Disaster Recovery Using Bacula}{RescueChapter}. This is also
reported to work on Win2K/XP systems.
- \item Listing and Restoration of files using stand-alone {\bf bls} and {\bf
- 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.
+ \item Listing and Restoration of files using stand-alone {\bf bls} and {\bf
+ 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.
\item Ability to restore the catalog database rapidly by using bootstrap
files (previously saved).
\item Ability to recreate the catalog database by scanning backup Volumes
\item Programmed to handle arbitrarily long filenames and messages.
\item GZIP compression on a file by file basis done by the Client program if
requested before network transit.
- \item Saves and restores POSIX ACLs on most OSes if enabled.
+ \item Saves and restores POSIX ACLs and Extended Attributes on most OSes if
+ enabled.
\item Access control lists for Consoles that permit restricting user access
to only their data.
\item Support for save/restore of files larger than 2GB.
\item Support for 64 bit machines, e.g. amd64, Sparc.
\item Support ANSI and IBM tape labels.
- \item Support for Unicode filenames (e.g. Chinese) on Win32 machines on
- version 1.37.28 and greater.
+ \item Support for Unicode filenames (e.g. Chinese) on Win32 machines
\item Consistent backup of open files on Win32 systems (WinXP, Win2003,
and Vista)
but not Win2000, using Volume Shadow Copy (VSS).
already adapted) for proper interfacing. You can find a list of
autochangers supported by {\bf mtx} at the following link:
\elink{http://mtx.opensource-sw.net/compatibility.php}
-{\url{http://mtx.opensource-sw.net/compatibility.php}}.
+{http://mtx.opensource-sw.net/compatibility.php}.
The home page for the {\bf mtx} project can be found at:
-\elink{http://mtx.opensource-sw.net/}{\url{http://mtx.opensource-sw.net/}}.
+\elink{http://mtx.opensource-sw.net/}{http://mtx.opensource-sw.net/}.
\addcontentsline{lot}{table}{Autochangers Known to Work with Bacula}
If turning off anti-virus software does not resolve your VSS
problems, you might have to turn on VSS debugging. The following
link describes how to do this:
-\elink{http://support.microsoft.com/kb/887013/en-us}{\url{http://support.microsoft.com/kb/887013/en-us}}.
+\elink{http://support.microsoft.com/kb/887013/en-us}{http://support.microsoft.com/kb/887013/en-us}.
In Microsoft Windows Small Business Server 2003 the VSS Writer for Exchange
is turned off by default. To turn it on, please see the following link:
-\elink{http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q838183}{\url{
-http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q838183}}
+\elink{http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q838183}{
+http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q838183}
The most likely source of problems is authentication when the Director
It looks like Bart PE Builder, which creates a Windows PE (Pre-installation
Environment) Boot-CD, may be just what is needed to build a complete disaster
recovery system for Win32. This distribution can be found at
-\elink{http://www.nu2.nu/pebuilder/}{\url{http://www.nu2.nu/pebuilder/}}.
+\elink{http://www.nu2.nu/pebuilder/}{http://www.nu2.nu/pebuilder/}.
\section{Windows Restore Problems}
\index[general]{Problems!Windows Restore}
to cease the ownership of those files and thus change the permissions.
However, a much better solution to working with and changing Win32 permissions
is the program {\bf SetACL}, which can be found at
-\elink{http://setacl.sourceforge.net/}{\url{http://setacl.sourceforge.net/}}.
+\elink{http://setacl.sourceforge.net/}{http://setacl.sourceforge.net/}.
If you have not installed Bacula while running as Administrator
and if Bacula is not running as a Process with the userid (User Name) SYSTEM,
Some users like to shutdown their Windows machines after a backup using a
Client Run After Job directive. If you want to do something similar, you might
take the shutdown program from the
-\elink{apcupsd project}{\url{http://www.apcupsd.com}} or one from the
+\elink{apcupsd project}{http://www.apcupsd.com} or one from the
\elink{Sysinternals project}
-{\url{http://technet.microsoft.com/en-us/sysinternals/bb897541.aspx}}.
+{http://technet.microsoft.com/en-us/sysinternals/bb897541.aspx}.
\author{Kern Sibbald}
\date{\vspace{1.0in}\today \\
- This manual documents Bacula version \fullversion \\
+ This manual documents Bacula version \input{version} \\
\vspace{0.2in}
- Copyright {\copyright} 1999-2009, Free Software Foundation Europe
+ Copyright {\copyright} 1999-2010, Free Software Foundation Europe
e.V. \\
Bacula {\textregistered} is a registered trademark of Kern Sibbald.\\
\vspace{0.2in}
\index[general]{License!GNU Lesser General Public }
\elink{image of a Philosophical GNU}
-{\url{http://www.gnu.org/graphics/philosophicalgnu.html}} [
-\elink{English}{\url{http://www.gnu.org/copyleft/lesser.html}} |
-\elink{Japanese}{\url{http://www.gnu.org/copyleft/lesser.ja.html}} ]
+{http://www.gnu.org/graphics/philosophicalgnu.html} [
+\elink{English}{http://www.gnu.org/copyleft/lesser.html} |
+\elink{Japanese}{http://www.gnu.org/copyleft/lesser.ja.html} ]
\begin{itemize}
\item
\elink{Why you shouldn't use the Lesser GPL for your next
- library}{\url{http://www.gnu.org/philosophy/why-not-lgpl.html}}
+ library}{http://www.gnu.org/philosophy/why-not-lgpl.html}
\item
\elink{What to do if you see a possible LGPL
- violation}{\url{http://www.gnu.org/copyleft/gpl-violation.html}}
+ violation}{http://www.gnu.org/copyleft/gpl-violation.html}
\item
\elink{Translations of the LGPL}
-{\url{http://www.gnu.org/copyleft/copyleft.html\#translationsLGPL}}
+{http://www.gnu.org/copyleft/copyleft.html\#translationsLGPL}
\item The GNU Lesser General Public License as a
- \elink{text file}{\url{http://www.gnu.org/copyleft/lesser.txt}}
+ \elink{text file}{http://www.gnu.org/copyleft/lesser.txt}
\item The GNU Lesser General Public License as a
- \elink{Texinfo}{\url{http://www.gnu.org/copyleft/lesser.texi}} file
+ \elink{Texinfo}{http://www.gnu.org/copyleft/lesser.texi} file
\end{itemize}
Library General Public License. For an explanation of why this change was
necessary, read the
\elink{Why you shouldn't use the Lesser GPL for your next
-library}{\url{http://www.gnu.org/philosophy/why-not-lgpl.html}} article.
+library}{http://www.gnu.org/philosophy/why-not-lgpl.html} article.
\section{Table of Contents}
\index[general]{Table of Contents }
That's all there is to it!
Return to
-\elink{GNU's home page}{\url{http://www.gnu.org/home.html}}.
+\elink{GNU's home page}{http://www.gnu.org/home.html}.
FSF \& GNU inquiries \& questions to
\elink{gnu@gnu.org}{mailto:gnu@gnu.org}. Other
-\elink{ways to contact}{\url{http://www.gnu.org/home.html\#ContactInfo}} the FSF.
+\elink{ways to contact}{http://www.gnu.org/home.html\#ContactInfo} the FSF.
Comments on these web pages to
\elink{webmasters@www.gnu.org}{mailto:webmasters@www.gnu.org}, send other
If you have a printed copy of this manual, the details of each of
the licenses referred to in this chapter can be found in the
online version of the manual at
-\elink{http://www.bacula.org}{\url{http://www.bacula.org}}.
+\elink{http://www.bacula.org}{http://www.bacula.org}.
\section{FDL}
\index[general]{FDL }
if you would send any corrections or changes to the Bacula project.
The most recent version of the manual can always be found online
-at \elink{http://www.bacula.org}{\url{http://www.bacula.org}}.
+at \elink{http://www.bacula.org}{http://www.bacula.org}.
\section{GPL}
\index[general]{GPL }
project) has the rights to the code. This Fiduciary License Agreement
is found on the Bacula web site at:
-\elink{http://www.bacula.org/en/FLA-bacula.en.pdf}{\url{http://www.bacula.org/en/FLA-bacula.en.pdf}}
+\elink{http://www.bacula.org/en/FLA-bacula.en.pdf}{http://www.bacula.org/en/FLA-bacula.en.pdf}
and if you are submitting code, you should fill it out then sent to:
with newer information, so after reading it, if you don't find what you
want, you might try the Bacula wiki maintained by Frank Sweetser, which
contains more than just a FAQ:
-\elink{http://wiki.bacula.org}{\url{http://wiki.bacula.org}}
+\elink{http://wiki.bacula.org}{http://wiki.bacula.org}
or go directly to the FAQ at:
\elink{http://wiki.bacula.org/doku.php?id=faq}
-{\url{http://wiki.bacula.org/doku.php?id=faq}}.
+{http://wiki.bacula.org/doku.php?id=faq}.
Please also see
\ilink{the bugs section}{BugsChapter} of this document for a list
\date{\vspace{1.0in}\today \\
This manual documents Bacula version \input{version} \\
\vspace{0.2in}
- Copyright \copyright 1999-2009, Free Software Foundation Europe
+ Copyright \copyright 1999-2010, Free Software Foundation Europe
e.V. \\
\vspace{0.2in}
Permission is granted to copy, distribute and/or modify this document under the terms of the
For FreeBSD users, please see the notes below for doing further testing of
your tape drive.
+\subsection{Testing tape drive speed}
+\label{sec:btapespeed}
+
+To determine the best configuration of your tape drive, you can run the
+\texttt{speed} command available in the \texttt{btape} program.
+
+This command can have the following arguments:
+\begin{itemize}
+\item[\texttt{file\_size=n}] Specify the Maximum File Size for this test
+ (between 1 and 5GB). This counter is in GB.
+\item[\texttt{nb\_file=n}] Specify the number of file to be written. The amount
+ of data should be greater than your memory ($file\_size*nb\_file$).
+\item[\texttt{skip\_zero}] This flag permits to skip tests with constant
+ data.
+\item[\texttt{skip\_random}] This flag permits to skip tests with random
+ data.
+\item[\texttt{skip\_raw}] This flag permits to skip tests with raw access.
+\item[\texttt{skip\_block}] This flag permits to skip tests with Bacula block
+ access.
+\end{itemize}
+
+\begin{verbatim}
+*speed file_size=3 skip_raw
+btape.c:1078 Test with zero data and bacula block structure.
+btape.c:956 Begin writing 3 files of 3.221 GB with blocks of 129024 bytes.
+++++++++++++++++++++++++++++++++++++++++++
+btape.c:604 Wrote 1 EOF to "Drive-0" (/dev/nst0)
+btape.c:406 Volume bytes=3.221 GB. Write rate = 44.128 MB/s
+...
+btape.c:383 Total Volume bytes=9.664 GB. Total Write rate = 43.531 MB/s
+
+btape.c:1090 Test with random data, should give the minimum throughput.
+btape.c:956 Begin writing 3 files of 3.221 GB with blocks of 129024 bytes.
++++++++++++++++++++++++++++++++++++++++++++
+btape.c:604 Wrote 1 EOF to "Drive-0" (/dev/nst0)
+btape.c:406 Volume bytes=3.221 GB. Write rate = 7.271 MB/s
++++++++++++++++++++++++++++++++++++++++++++
+...
+btape.c:383 Total Volume bytes=9.664 GB. Total Write rate = 7.365 MB/s
+
+\end{verbatim}
+
+When using compression, the random test will give your the minimum throughput
+of your drive . The test using constant string will give you the maximum speed
+of your hardware chain. (cpu, memory, scsi card, cable, drive, tape).
+
+You can change the block size in the Storage Daemon configuration file.
+
\label{SCSITricks}
\subsection{Linux SCSI Tricks}
\index[general]{Tricks!Linux SCSI}
distribution.
For additional tips, please see the \elink{Bacula
-wiki}{\url{http://wiki.bacula.org}}.
+wiki}{http://wiki.bacula.org}.
\section{Upgrading Bacula Versions}
\label{upgrading}
This tip was provided by Alexander Kuehn.
-\elink{Bacula}{\url{http://www.bacula.org/}} is a really nice backup program except
+\elink{Bacula}{http://www.bacula.org/} is a really nice backup program except
that the manual tape changing requires user interaction with the bacula
console.
Bacula supports a variety of tape changers through the use of mtx-changer
scripts/programs. This highly flexible approach allowed me to create
-\elink{this shell script}{\url{http://www.bacula.org/en/rel-manual/mtx-changer.txt}} which does the following:
+\elink{this shell script}{http://www.bacula.org/en/rel-manual/mtx-changer.txt} which does the following:
% TODO: We need to include this in book appendix and point to it.
% TODO:
Whenever a new tape is required it sends a mail to the operator to insert the
\date{\vspace{1.0in}\today \\
This manual documents Bacula version \input{version} \\
\vspace{0.2in}
- Copyright \copyright 1999-2009, Free Software Foundation Europe
+ Copyright \copyright 1999-2010, Free Software Foundation Europe
e.V. \\
\vspace{0.2in}
Permission is granted to copy, distribute and/or modify this document under the terms of the
Director daemon while the daemon is running.
The current Bacula Console comes in two versions: a shell interface (TTY
-style), and a GNOME GUI interface. Both permit the administrator or authorized
-users to interact with Bacula. You can determine the status of a particular
-job, examine the contents of the Catalog as well as perform certain tape
-manipulations with the Console program.
+style), and a QT GUI interface (Bat). Both permit the administrator or
+authorized users to interact with Bacula. You can determine the status of a
+particular job, examine the contents of the Catalog as well as perform certain
+tape manipulations with the Console program.
In addition, there is a bwx-console built with wxWidgets that allows a graphic
restore of files. As of version 1.34.1 it is in an early stage of development,
\index[general]{Configuration!Console}
When the Console starts, it reads a standard Bacula configuration file
-named {\bf bconsole.conf} or {\bf bgnome-console.conf} in the case of the GNOME
-Console version from the current directory unless you specify the {\bf {-}c}
+named {\bf bconsole.conf} or {\bf bat.conf} in the case of the Bat
+QT Console version from the current directory unless you specify the {\bf {-}c}
command line option (see below). This file allows default configuration
of the Console, and at the current time, the only Resource Record defined
is the Director resource, which gives the Console the name and address of
\normalsize
-After launching the Console program (bconsole), it will prompt you for the
-next command with an asterisk (*). (Note, in the GNOME version, the prompt is
-not present; you simply enter the commands you want in the command text box at
-the bottom of the screen.) Generally, for all commands, you can simply enter
-the command name and the Console program will prompt you for the necessary
-arguments. Alternatively, in most cases, you may enter the command followed by
-arguments. The general format is:
+After launching the Console program (bconsole), it will prompt you for the next
+command with an asterisk (*). Generally, for all commands, you can simply
+enter the command name and the Console program will prompt you for the
+necessary arguments. Alternatively, in most cases, you may enter the command
+followed by arguments. The general format is:
\footnotesize
\begin{verbatim}
auto-display of messages on or off respectively. The default for the
console program is {\bf off}, which means that you will be notified when
there are console messages pending, but they will not automatically be
- displayed. The default for the bgnome-console program is {\bf on}, which
- means that messages will be displayed when they are received (usually
- within five seconds of them being generated).
+ displayed.
When autodisplay is turned off, you must explicitly retrieve the
messages with the {\bf messages} command. When autodisplay is turned
However, there is a small list of {\bf at} commands, all beginning with an at
character (@), that will not be sent to the Director, but rather interpreted
by the Console program directly. Note, these commands are implemented only in
-the tty console program and not in the GNOME Console. These commands are:
+the tty console program and not in the Bat Console. These commands are:
\begin{description}
\date{\vspace{1.0in}\today \\
This manual documents Bacula version \input{version} \\
\vspace{0.2in}
- Copyright \copyright 1999-2009, Free Software Foundation Europe
+ Copyright \copyright 1999-2010, Free Software Foundation Europe
e.V. \\
\vspace{0.2in}
Permission is granted to copy, distribute and/or modify this document under the terms of the
\author{Kern Sibbald}
\date{\vspace{1.0in}\today \\
- This manual documents Bacula version \fullversion \\
+ This manual documents Bacula version \input{version} \\
\vspace{0.2in}
- Copyright {\copyright} 1999-2009, Free Software Foundation Europe
+ Copyright {\copyright} 1999-2010, Free Software Foundation Europe
e.V. \\
Bacula {\textregistered} is a registered trademark of Kern Sibbald.\\
\vspace{0.2in}
add user level security and access. If we have code spread everywhere such as
in a GUI this will be more difficult. The other advantage is that any code you
add to the Director is automatically available to both the tty console program
-and the GNOME program. The major disadvantage is it increases the size of the
+and the WX program. The major disadvantage is it increases the size of the
code -- however, compared to Networker the Bacula Director is really tiny.
\subsection{GUI Interface is Difficult}
For a GUI program things will be a bit more complicated. Basically in the very
inner loop, you will need to check and see if any output is available on the
-UA\_sock. For an example, please take a look at the GNOME GUI interface code
-in: \lt{}bacula-source\>/src/gnome-console/console.c
+UA\_sock. For an example, please take a look at the WX GUI interface code
+in: \lt{bacula-source/src/wx-console}
+
+\section{Bvfs API}
+\label{sec:bvfs}
+
+To help developers of restore GUI interfaces, we have added new \textsl{dot
+ commands} that permit browsing the catalog in a very simple way.
+
+\begin{itemize}
+\item \texttt{.bvfs\_update [jobid=x,y,z]} This command is required to update
+ the Bvfs cache in the catalog. You need to run it before any access to the
+ Bvfs layer.
+
+\item \texttt{.bvfs\_lsdirs jobid=x,y,z path=/path | pathid=101} This command
+ will list all directories in the specified \texttt{path} or
+ \texttt{pathid}. Using \texttt{pathid} avoids problems with character
+ encoding of path/filenames.
+
+\item \texttt{.bvfs\_lsfiles jobid=x,y,z path=/path | pathid=101} This command
+ will list all files in the specified \texttt{path} or \texttt{pathid}. Using
+ \texttt{pathid} avoids problems with character encoding.
+\end{itemize}
+
+You can use \texttt{limit=xxx} and \texttt{offset=yyy} to limit the amount of
+data that will be displayed.
+
+\begin{verbatim}
+* .bvfs_update jobid=1,2
+* .bvfs_update
+* .bvfs_lsdir path=/ jobid=1,2
+\end{verbatim}
+
\newfont{\bighead}{cmr17 at 36pt}
\parskip 10pt
\parindent 0pt
\author{Kern Sibbald}
\date{\vspace{1.0in}\today \\
- This manual documents Bacula version \fullversion \\
+ This manual documents Bacula version \input{version} \\
\vspace{0.2in}
- Copyright {\copyright} 1999-2009, Free Software Foundation Europe
+ Copyright {\copyright} 1999-2010, Free Software Foundation Europe
e.V. \\
Bacula {\textregistered} is a registered trademark of Kern Sibbald.\\
\vspace{0.2in}
\label{FileRetention}
\item [File Retention = \lt{}time-period-specification\gt{}]
+ \label{FileRetention}
\index[dir]{File Retention}
\index[dir]{Directive!File Retention}
The File Retention directive defines the length of time that Bacula will
\label{JobRetention}
\item [Job Retention = \lt{}time-period-specification\gt{}]
+ \label{JobRetention}
\index[dir]{Job Retention}
\index[dir]{Directive!Job Retention}
The Job Retention directive defines the length of time that Bacula will keep
sure that some day, Bacula will recycle a Volume that contains current
data. The default is {\bf no}.
+\item [File Retention = \lt{}time-period-specification\gt{}]
+ \index[dir]{File Retention}
+ \index[dir]{Directive!File Retention}
+ The File Retention directive defines the length of time that Bacula will
+ keep File records in the Catalog database after the End time of the
+ Job corresponding to the File records.
+
+ This directive takes precedence over Client directives of the same name. For
+ example, you can decide to increase Retention times for Archive or OffSite
+ Pool.
+
+ Note, this affects only records in the catalog database. It does not affect
+ your archive backups.
+
+ For more information see Client documentation about
+ \ilink{FileRetention}{FileRetention}
+
+\item [Job Retention = \lt{}time-period-specification\gt{}]
+ \index[dir]{Job Retention}
+ \index[dir]{Directive!Job Retention}
+
+ The Job Retention directive defines the length of time that Bacula will keep
+ Job records in the Catalog database after the Job End time. As with the
+ other retention periods, this affects only records in the catalog and not
+ data in your archive backup.
+
+ This directive takes precedence over Client directives of the same name.
+ For example, you can decide to increase Retention times for Archive or
+ OffSite Pool.
+
+ For more information see Client side documentation
+ \ilink{JobRetention}{JobRetention}
+
\item [Cleaning Prefix = \lt{}string\gt{}]
\index[dir]{Cleaning Prefix}
\index[dir]{Directive!Cleaning Prefix}
\index[dir]{checkfilechanges}
\index[dir]{Directive!checkfilechanges}
On versions 2.0.4 or greater,
- if enabled, the Client will checks size, age of each file after
+ if enabled, the Client will check size, age of each file after
their backup to see if they have changed during backup. If time
or size mismatch, an error will raise.
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
\hline
\multicolumn{1}{|c| }{\bf 3rd Party Package} & \multicolumn{1}{c| }{\bf depkgs}
& \multicolumn{1}{c| }{\bf depkgs-qt} \\
- \hline {SQLite } & \multicolumn{1}{c| }{X } & \multicolumn{1}{c| }{ }\\
\hline {SQLite3 } & \multicolumn{1}{c| }{X } & \multicolumn{1}{c| }{ }\\
\hline {mtx } & \multicolumn{1}{c| }{X } & \multicolumn{1}{c| }{ } \\
\hline {qt4 } & \multicolumn{1}{c| }{ } & \multicolumn{1}{c| }{X } \\
- \hline {qwt } & \multicolumn{1}{c| }{ } & \multicolumn{1}{c| }{X } \\
\hline
\end{longtable}
(src/stored), it is probably because you have not loaded the static
libraries on your system. I noticed this problem on a Solaris system.
To correct it, make sure that you have not added {\bf
- {-}{-}enable-static-tools} to the {\bf ./configure} command.
+ {-} {-}enable-static-tools} to the {\bf ./configure} command.
If you skip this step ({\bf make}) and proceed immediately to the {\bf
make install} you are making two serious errors: 1. your install will
would normally use, and each developer/user may modify them to suit his needs.
You should find additional useful examples in this directory as well.
-The {\bf \verb:--:enable-conio} or {\bf \verb:--:enable-readline} options are useful because
-they provide a command line history and editing capability for the Console
-program. If you have included either option in the build, either the {\bf
-termcap} or the {\bf ncurses} package will be needed to link. On most
-systems, including Red Hat and SuSE, you should include the ncurses package.
-If Bacula's configure process finds the ncurses libraries, it will use
-those rather than the termcap library.
-On some systems, such as SuSE, the termcap library is not in the standard
-library directory. As a consequence, the option may be disabled or you may
-get an error message such as:
+The {\bf \verb:--:enable-conio} or {\bf \verb:--:enable-readline} options are
+useful because they provide a command line history, editing capability for the
+Console program and tab completion on various option. If you have included
+either option in the build, either the {\bf termcap} or the {\bf ncurses}
+package will be needed to link. On most systems, including Red Hat and SuSE,
+you should include the ncurses package. If Bacula's configure process finds
+the ncurses libraries, it will use those rather than the termcap library. On
+some systems, such as SuSE, the termcap library is not in the standard library
+directory. As a consequence, the option may be disabled or you may get an
+error message such as:
\footnotesize
\begin{verbatim}
\end{verbatim}
\normalsize
-The same library requirements apply if you wish to use the readline
-subroutines for command line editing and history or
-if you are using a MySQL library that requires encryption. If you need encryption,
-you can either export the appropriate additional library options as shown
-above or, alternatively, you can include them directly on the ./configure line
-as in:
+The same library requirements apply if you wish to use the readline subroutines
+for command line editing, history and tab completion or if you are using a
+MySQL library that requires encryption. If you need encryption, you can either
+export the appropriate additional library options as shown above or,
+alternatively, you can include them directly on the ./configure line as in:
\footnotesize
\begin{verbatim}
libintl, you should ensure that the appropriate package is installed on
your system. Alternatively, if the package is installed in a non-standard
location (as far as Bacula is concerned), then there is generally an
-option listed below (or listed with "./configure {-}{-}help" that will
+option listed below (or listed with "./configure {-} {-}help" that will
permit you to specify the directory that should be searched. In other
cases, there are options that will permit you to disable to feature
-(e.g. {-}{-}disable-nls).
+(e.g. {-} {-}disable-nls).
If you want to dive right into it, we recommend you skip to the next chapter,
and run the example program. It will teach you a lot about Bacula and as an
customize your installation.
\begin{description}
-\item [ {-}prefix=\lt{}patch\gt{}]
+\item [ \--prefix=\lt{}patch\gt{}]
\index[general]{{-}prefix}
This option is meant to allow you to direct where the architecture
independent files should be placed. However, we find this a somewhat
you avoid it. We have provided options that allow you to explicitly
specify the directories for each of the major categories of installation
files.
-\item [ {-}{-}sbindir=\lt{}binary-path\gt{}]
- \index[general]{{-}{-}sbindir}
+\item [ {-}{\-}sbindir=\lt{}binary-path\gt{}]
+ \index[general]{{-}{\-}sbindir}
Defines where the Bacula binary (executable) files will be placed during a
{\bf make install} command.
-\item [ {-}{-}sysconfdir=\lt{}config-path\gt{}]
- \index[general]{{-}{-}sysconfdir}
+\item [ {-}{\-}sysconfdir=\lt{}config-path\gt{}]
+ \index[general]{{-}{\-}sysconfdir}
Defines where the Bacula configuration files should be placed during a
{\bf make install} command.
-\item [ {-}{-}mandir=\lt{}path\gt{}]
- \index[general]{{-}{-}mandir}
+\item [ {-}{\-}mandir=\lt{}path\gt{}]
+ \index[general]{{-}{\-}mandir}
Note, as of Bacula version 1.39.14, the meaning of any path
specified on this option is change from prior versions. It
now specifies the top level man directory.
Note, the main HTML and PDF Bacula documents are in a separate
tar file that is not part of the source distribution.
-\item [ {-}{-}datadir=\lt{}path\gt{} ]
- \index[general]{{-}{-}datadir}
+\item [ {-}{\-}datadir=\lt{}path\gt{} ]
+ \index[general]{{-}{\-}datadir}
If you translate Bacula or parts of Bacula into a different language
you may specify the location of the po files using the {\bf
- {-}{-}datadir} option. You must manually install any po files as
+ {-}{\-}datadir} option. You must manually install any po files as
Bacula does not (yet) automatically do so.
-\item [ {-}{-}disable-ipv6 ]
- \index[general]{{-}{-}disable-ipv6}
+\item [ {-}{\-}disable-ipv6 ]
+ \index[general]{{-}{\-}disable-ipv6}
-\item [ {-}{-}enable-smartalloc ]
- \index[general]{{-}{-}enable-smartalloc}
+\item [ {-}{\-}enable-smartalloc ]
+ \index[general]{{-}{\-}enable-smartalloc}
This enables the inclusion of the Smartalloc orphaned buffer detection
code. This option is highly recommended. Because we never build
without this option, you may experience problems if it is not enabled.
keeping this option enabled as it helps detect memory leaks. This
configuration parameter is used while building Bacula
-\item [ {-}{-}enable-bat ]
+\item [ {-}{\-}enable-bat ]
\label{enablebat}
- \index[general]{{-}{-}enable-bat}
- If you have Qt4 >= 4.3 installed on your computer including the
+ \index[general]{{-}{\-}enable-bat}
+ If you have Qt4 >= 4.3.4 installed on your computer including the
libqt4 and libqt4-devel (libqt4-dev on Debian) libraries, and you want
to use the Bacula Administration Tool (bat) GUI Console interface to
Bacula, you must specify this option. Doing so will build everything in
Qt4 is available on OpenSUSE 10.2, CentOS 5, Fedora, and Debian. If it
is not available on your system, you can download the {\bf depkgs-qt}
- package from the Bacula Source Forge download area and build it and
- the qwt package, both of which are needed to build bat. See the
+ package from the Bacula Source Forge download area and build it.
+ See the
INSTALL file in that package for more details. In particular to use
- the Qt4 built by {\bf depkgs-qt} you {bf must} source the file
+ the Qt4 built by {\bf depkgs-qt} you {\bf must} source the file
{\bf qt4-paths}.
-\item [ {-}{-}with-qwt=\lt{}path\gt{} ]
- \index[general]{{-}{-}with-qwt}
- The qwt package is a graphics library for Qt. If it is included
- during the building of bat, you will get one extra graphical function.
- At the current time, we recommend not including this option when
- building bat. The path specified must be an absolute path and
- not relative.
-
- The qwt package is available for download from
- the qwt project on Source Forge. If you wish, you may build and
- install it on your system (by default in /usr/lib).
- If you have done so, you would specify:
-
-\begin{verbatim}
- --with-qwt=/usr/lib/qwt-5.0.2
-\end{verbatim}
-
- Alternatively, you can download the Bacula depkgs-qt package (currently
- version 28Jul09) and build it, then assuming that you have put it
- into a directory named bacula, you would specify:
-
-\begin{verbatim}
- --with-qwt=$HOME/bacula/depkgs-qt/qwt
-\end{verbatim}
-
- Some packages such as Debian do not adhere to the standard of
- naming the library libqwt.a or libqwt.so, and you will either need
- to manually add a soft link to the name they use or use the
- depkgs version, which handles the naming correctly.
-
-
-\item [ {-}{-}enable-batch-insert ]
- \index[general]{{-}{-}enable-batch-insert}
+\item [ {-}{\-}enable-batch-insert ]
+ \index[general]{{-}{\-}enable-batch-insert}
This option enables batch inserts of the attribute records (default) in
the catalog database, which is much faster (10 times or more) than
without this option for large numbers of files. However, this option
Bacula always links to the thread safe MySQL libraries.
- As a default, Bacula runs SQLite3 with {\bf PRAGMA synchronous=OFF}
- because it improves performance by more than 30 times. However, it
- increases the possibility of a corrupted database. If you want more
- security, please modify src/version.h appropriately (it should be
- obvious when you look at the file).
-
Running with Batch Insert turned on is recommended because it can
significantly improve attribute insertion times. However, it does
put a significantly larger part of the work on your SQL engine, so
want to increase the memory available to your SQL engine to further
improve performance during Batch Inserts.
-\item [ {-}{-}enable-gnome ]
- \index[general]{{-}{-}enable-gnome}
- If you have GNOME installed on your computer including the
- GNOME development libraries, and you want to use the
- GNOME GUI Console interface to Bacula, you must specify this option.
- Doing so will build everything in the {\bf src/gnome2-console} directory.
-
-\item [ {-}{-}enable-bwx-console ]
- \index[general]{{-}{-}enable-bwx-console}
+\item [ {-}{\-}enable-bwx-console ]
+ \index[general]{{-}{\-}enable-bwx-console}
If you have wxWidgets installed on your computer and you want to use the
wxWidgets GUI Console interface to Bacula, you must specify this option.
Doing so will build everything in the {\bf src/wx-console} directory.
This could also be useful to users who want a GUI Console and don't want
- to install GNOME, as wxWidgets can work with GTK+, Motif or even X11
+ to install QT, as wxWidgets can work with GTK+, Motif or even X11
libraries.
-\item [ {-}{-}enable-tray-monitor ]
- \index[general]{{-}{-}enable-tray-monitor}
+\item [ {-}{\-}enable-tray-monitor ]
+ \index[general]{{-}{\-}enable-tray-monitor}
If you have GTK installed on your computer, you run a graphical
environment or a window manager compatible with the FreeDesktop system
tray standard (like KDE and GNOME) and you want to use a GUI to monitor
calls to the GTK+ API, and unfortunately, the tray icon API necessary
was not implemented until GTK version 2.10 or later.
-\item [ {-}{-}enable-static-tools]
- \index[general]{{-}{-}enable-static-tools}
+\item [ {-}{\-}enable-static-tools]
+ \index[general]{{-}{\-}enable-static-tools}
This option causes the linker to link the Storage daemon utility tools
({\bf bls}, {\bf bextract}, and {\bf bscan}) statically. This permits
using them without having the shared libraries loaded. If you have
not enabled this option, or explicitly disable static linking by adding
{\bf \verb:--:disable-static-tools}.
-\item [ {-}{-}enable-static-fd]
- \index[general]{{-}{-}enable-static-fd}
+\item [ {-}{\-}enable-static-fd]
+ \index[general]{{-}{\-}enable-static-fd}
This option causes the make process to build a {\bf static-bacula-fd} in
addition to the standard File daemon. This static version will include
statically linked libraries and is required for the Bare Metal recovery.
experience linking errors when this option is used. The first
thing to do is to make sure you have the static glibc library
installed on your system. The second thing to do is the make sure
- you do not specify {\bf {-}{-}openssl} or {\bf {-}{-}with-python}
+ you do not specify {\bf {-}{\-}openssl} or {\bf {-}{\-}with-python}
on your ./configure statement as these options require additional
libraries. You may be able to enable those options, but you will
need to load additional static libraries.
-\item [ {-}{-}enable-static-sd]
- \index[general]{{-}{-}enable-static-sd}
+\item [ {-}{\-}enable-static-sd]
+ \index[general]{{-}{\-}enable-static-sd}
This option causes the make process to build a {\bf static-bacula-sd} in
addition to the standard Storage daemon. This static version will
include statically linked libraries and could be useful during a Bare
experience linking errors when this option is used. The first
thing to do is to make sure you have the static glibc library
installed on your system. The second thing to do is the make sure
- you do not specify {\bf {-}{-}openssl} or {\bf {-}{-}with-python}
+ you do not specify {\bf {-}{\-}openssl} or {\bf {-}{\-}with-python}
on your ./configure statement as these options require additional
libraries. You may be able to enable those options, but you will
need to load additional static libraries.
-\item [ {-}{-}enable-static-dir]
- \index[general]{{-}{-}enable-static-dir}
+\item [ {-}{\-}enable-static-dir]
+ \index[general]{{-}{\-}enable-static-dir}
This option causes the make process to build a {\bf static-bacula-dir}
in addition to the standard Director. This static version will include
statically linked libraries and could be useful during a Bare Metal
experience linking errors when this option is used. The first
thing to do is to make sure you have the static glibc library
installed on your system. The second thing to do is the make sure
- you do not specify {\bf {-}{-}openssl} or {\bf {-}{-}with-python}
+ you do not specify {\bf {-}{\-}openssl} or {\bf {-}{\-}with-python}
on your ./configure statement as these options require additional
libraries. You may be able to enable those options, but you will
need to load additional static libraries.
-\item [ {-}{-}enable-static-cons]
- \index[general]{{-}{-}enable-static-cons}
- This option causes the make process to build a {\bf static-console} and
- a {\bf static-gnome-console} in addition to the standard console. This
- static version will include statically linked libraries and could be
- useful during a Bare Metal recovery.
+\item [ {-}{\-}enable-static-cons]
+ \index[general]{{-}{\-}enable-static-cons}
+ This option causes the make process to build a {\bf static-console} in
+ addition to the standard console. This static version will include
+ statically linked libraries and could be useful during a Bare Metal
+ recovery.
When linking a static binary, the linker needs the static versions
of all the libraries that are used, so frequently users will
experience linking errors when this option is used. The first
thing to do is to make sure you have the static glibc library
installed on your system. The second thing to do is the make sure
- you do not specify {\bf {-}{-}openssl} or {\bf {-}{-}with-python}
+ you do not specify {\bf {-}{\-}openssl} or {\bf {-}{\-}with-python}
on your ./configure statement as these options require additional
libraries. You may be able to enable those options, but you will
need to load additional static libraries.
-\item [ {-}{-}enable-client-only]
- \index[general]{{-}{-}enable-client-only}
+\item [ {-}{\-}enable-client-only]
+ \index[general]{{-}{\-}enable-client-only}
This option causes the make process to build only the File daemon and
the libraries that it needs. None of the other daemons, storage tools,
nor the console will be built. Likewise a {\bf make install} will then
experience linking errors when this option is used. The first
thing to do is to make sure you have the static glibc library
installed on your system. The second thing to do is the make sure
- you do not specify {\bf {-}{-}openssl} or {\bf {-}{-}with-python}
+ you do not specify {\bf {-}{\-}openssl} or {\bf {-}{\-}with-python}
on your ./configure statement as these options require additional
libraries. You may be able to enable those options, but you will
need to load additional static libraries.
-\item [ {-}{-}enable-build-dird]
- \index[general]{{-}{-}enable-build-dird}
+\item [ {-}{\-}enable-build-dird]
+ \index[general]{{-}{\-}enable-build-dird}
This option causes the make process to build the Director and the
Director's tools. By default, this option is on, but you may turn
- it off by using {\bf {-}{-}disable-build-dird} to prevent the
+ it off by using {\bf {-}{\-}disable-build-dird} to prevent the
Director from being built.
-\item [ {-}{-}enable-build-stored]
- \index[general]{{-}{-}enable-build-stored}
+\item [ {-}{\-}enable-build-stored]
+ \index[general]{{-}{\-}enable-build-stored}
This option causes the make process to build the Storage daemon.
By default, this option is on, but you may turn
- it off by using {\bf {-}{-}disable-build-stored} to prevent the
+ it off by using {\bf {-}{\-}disable-build-stored} to prevent the
Storage daemon from being built.
-\item [ {-}{-}enable-largefile]
- \index[general]{{-}{-}enable-largefile}
+\item [ {-}{\-}enable-largefile]
+ \index[general]{{-}{\-}enable-largefile}
This option (default) causes Bacula to be built with 64 bit file address
support if it is available on your system. This permits Bacula to read and
write files greater than 2 GBytes in size. You may disable this feature and
revert to 32 bit file addresses by using {\bf \verb:--:disable-largefile}.
-\item [ {-}{-}disable-nls]
- \index[general]{{-}{-}disable-nls}
+\item [ {-}{\-}disable-nls]
+ \index[general]{{-}{\-}disable-nls}
By default, Bacula uses the GNU Native Language Support (NLS) libraries. On
some machines, these libraries may not be present or may not function
correctly (especially on non-Linux implementations). In such cases, you
- may specify {\bf {-}{-}disable-nls} to disable use of those libraries.
+ may specify {\bf {-}{\-}disable-nls} to disable use of those libraries.
In such a case, Bacula will revert to using English.
-\item [ {-}{-}disable-ipv6 ]
- \index[general]{{-}{-}disable-ipv6}
+\item [ {-}{\-}disable-ipv6 ]
+ \index[general]{{-}{\-}disable-ipv6}
By default, Bacula enables IPv6 protocol. On some systems, the files
for IPv6 may exist, but the functionality could be turned off in the
kernel. In that case, in order to correctly build Bacula, you will
explicitly need to use this option so that Bacula does not attempt
to reference OS function calls that do not exist.
-\item [ {-}{-}with-sqlite=\lt{}sqlite-path\gt{}]
- \index[general]{{-}{-}with-sqlite}
- This enables use of the SQLite version 2.8.x database. The {\bf
- sqlite-path} is not normally specified as Bacula looks for the necessary
- components in a standard location ({\bf depkgs/sqlite}). See
- \ilink{Installing and Configuring SQLite}{SqlLiteChapter} chapter of
- this manual for more details. SQLite is not supported on Solaris.
-
- See the note below under the {-}{-}with-postgresql item.
-
-\item [ {-}{-}with-sqlite3=\lt{}sqlite3-path\gt{}]
- \index[general]{{-}{-}with-sqlite3}
+\item [ {-}{\-}with-sqlite3=\lt{}sqlite3-path\gt{}]
+ \index[general]{{-}{\-}with-sqlite3}
This enables use of the SQLite version 3.x database. The {\bf
sqlite3-path} is not normally specified as Bacula looks for the
necessary components in a standard location ({\bf depkgs/sqlite3}). See
\ilink{Installing and Configuring SQLite}{SqlLiteChapter} chapter of
this manual for more details. SQLite3 is not supported on Solaris.
-\item [ {-}{-}with-mysql=\lt{}mysql-path\gt{}]
- \index[general]{{-}{-}with-mysql}
+\item [ {-}{\-}with-mysql=\lt{}mysql-path\gt{}]
+ \index[general]{{-}{\-}with-mysql}
This enables building of the Catalog services for Bacula. It assumes
that MySQL is running on your system, and expects it to be installed in
the {\bf mysql-path} that you specify. Normally, if MySQL is installed
- in a standard system location, you can simply use {\bf {-}{-}with-mysql}
+ in a standard system location, you can simply use {\bf {-}{\-}with-mysql}
with no path specification. If you do use this option, please proceed
to installing MySQL in the \ilink{Installing and Configuring
MySQL}{MySqlChapter} chapter before proceeding with the configuration.
- See the note below under the {-}{-}with-postgresql item.
+ See the note below under the {-}{\-}with-postgresql item.
-\item [ {-}{-}with-postgresql=\lt{}path\gt{}]
- \index[general]{{-}{-}with-postgresql}
+\item [ {-}{\-}with-postgresql=\lt{}path\gt{}]
+ \index[general]{{-}{\-}with-postgresql}
This provides an explicit path to the PostgreSQL libraries if Bacula
cannot find it by default. Normally to build with PostgreSQL, you would
- simply use {\bf {-}{-}with-postgresql}.
+ simply use {\bf {-}{\-}with-postgresql}.
Note, for Bacula to be configured properly, you must specify one
of the four database options supported. That is:
- {-}{-}with-sqlite, {-}{-}with-sqlite3, {-}{-}with-mysql, or
- {-}{-}with-postgresql, otherwise the ./configure will fail.
+ {-}{\-}with-sqlite, {-}{\-}with-sqlite3, {-}{\-}with-mysql, or
+ {-}{\-}with-postgresql, otherwise the ./configure will fail.
-\item [ {-}{-}with-openssl=\lt{}path\gt{}]
+\item [ {-}{\-}with-openssl=\lt{}path\gt{}]
This configuration option is necessary if you want to enable TLS (ssl),
which encrypts the communications within
Bacula or if you want to use File Daemon PKI data encryption.
\ilink{Bacula PKI -- Data Encryption}{DataEncryption}
chapter of this manual.
-\item [ {-}{-}with-python=\lt{}path\gt{}]
- \index[general]{{-}{-}with-python}
+\item [ {-}{\-}with-python=\lt{}path\gt{}]
+ \index[general]{{-}{\-}with-python}
This option enables Bacula support for Python. If no path is supplied,
configure will search the standard library locations for Python 2.2,
2.3, 2.4, or 2.5. If it cannot find the library, you will need to
\ilink{Python chapter}{PythonChapter} for the details of using Python
scripting.
-\item [ {-}{-}with-libintl-prefix=\lt{}DIR\gt{}]
- \index[general]{{-}{-}with-libintl-prefix}
+\item [ {-}{\-}with-libintl-prefix=\lt{}DIR\gt{}]
+ \index[general]{{-}{\-}with-libintl-prefix}
This option may be used to tell Bacula to search DIR/include and
DIR/lib for the libintl headers and libraries needed for Native
Language Support (NLS).
-\item [ {-}{-}enable-conio]
- \index[general]{{-}{-}enable-conio}
+\item [ {-}{\-}enable-conio]
+ \index[general]{{-}{\-}enable-conio}
Tells Bacula to enable building the small, light weight readline
replacement routine. It is generally much easier to configure than
readline, although, like readline, it needs either the termcap or
ncurses library.
-\item [ {-}{-}with-readline=\lt{}readline-path\gt{}]
- \index[general]{{-}{-}with-readline}
+\item [ {-}{\-}with-readline=\lt{}readline-path\gt{}]
+ \index[general]{{-}{\-}with-readline}
Tells Bacula where {\bf readline} is installed. Normally, Bacula will
find readline if it is in a standard library. If it is not found and no
- {-}{-}with-readline is specified, readline will be disabled. This
+ {-}{\-}with-readline is specified, readline will be disabled. This
option affects the Bacula build. Readline provides the Console program
with a command line history and editing capability and is no longer
supported, so you are on your own if you have problems.
-\item [ {-}{-}enable-readline]
- \index[general]{{-}{-}enable-readline}
+\item [ {-}{\-}enable-readline]
+ \index[general]{{-}{\-}enable-readline}
Tells Bacula to enable readline support. It is normally disabled due to the
large number of configuration problems and the fact that the package seems to
change in incompatible ways from version to version.
-\item [ {-}{-}with-tcp-wrappers=\lt{}path\gt{}]
- \index[general]{{-}{-}with-tcp-wrappers}
+\item [ {-}{\-}with-tcp-wrappers=\lt{}path\gt{}]
+ \index[general]{{-}{\-}with-tcp-wrappers}
\index[general]{TCP Wrappers}
\index[general]{Wrappers!TCP}
\index[general]{libwrappers}
contained in the tcpd-devel package. On Red Hat, the package is named
tcp\_wrappers.
-\item [ {-}{-}with-archivedir=\lt{}path\gt{} ]
- \index[general]{{-}{-}with-archivedir}
+\item [ {-}{\-}with-archivedir=\lt{}path\gt{} ]
+ \index[general]{{-}{\-}with-archivedir}
The directory used for disk-based backups. Default value is /tmp.
This parameter sets the default values in the bacula-dir.conf and bacula-sd.conf
configuration files. For example, it sets the Where directive for the
This option is designed primarily for use in regression testing.
Most users can safely ignore this option.
-\item [ {-}{-}with-working-dir=\lt{}working-directory-path\gt{} ]
- \index[general]{{-}{-}with-working-dir}
+\item [ {-}{\-}with-working-dir=\lt{}working-directory-path\gt{} ]
+ \index[general]{{-}{\-}with-working-dir}
This option is mandatory and specifies a directory into which Bacula may
safely place files that will remain between Bacula executions. For example,
if the internal database is used, Bacula will keep those files in this
The working directory is not automatically created by the install process, so
you must ensure that it exists before using Bacula for the first time.
-\item [ {-}{-}with-base-port=\lt{}port=number\gt{}]
- \index[general]{{-}{-}with-base-port}
+\item [ {-}{\-}with-base-port=\lt{}port=number\gt{}]
+ \index[general]{{-}{\-}with-base-port}
In order to run, Bacula needs three TCP/IP ports (one for the Bacula
Console, one for the Storage daemon, and one for the File daemon). The {\bf
\verb:--:with-baseport} option will automatically assign three ports beginning at
IANA. This option is only used to modify the daemon configuration files. You
may also accomplish the same thing by directly editing them later.
-\item [ {-}{-}with-dump-email=\lt{}email-address\gt{}]
- \index[general]{{-}{-}with-dump-email}
+\item [ {-}{\-}with-dump-email=\lt{}email-address\gt{}]
+ \index[general]{{-}{\-}with-dump-email}
This option specifies the email address where any core dumps should be set.
This option is normally only used by developers.
-\item [ {-}{-}with-pid-dir=\lt{}PATH\gt{} ]
- \index[general]{{-}{-}with-pid-dir}
+\item [ {-}{\-}with-pid-dir=\lt{}PATH\gt{} ]
+ \index[general]{{-}{\-}with-pid-dir}
This specifies where Bacula should place the process id file during
execution. The default is: {\bf /var/run}. This directory is not created by
the install process, so you must ensure that it exists before using Bacula
the first time.
-\item [ {-}{-}with-subsys-dir=\lt{}PATH\gt{}]
- \index[general]{{-}{-}with-subsys-dir}
+\item [ {-}{\-}with-subsys-dir=\lt{}PATH\gt{}]
+ \index[general]{{-}{\-}with-subsys-dir}
This specifies where Bacula should place the subsystem lock file during
execution. The default is {\bf /var/run/subsys}. Please make sure that you do
not specify the same directory for this directory and for the {\bf sbindir}
subsys directory is not created by the Bacula install, so you must be sure to
create it before using Bacula.
-\item [ {-}{-}with-dir-password=\lt{}Password\gt{}]
- \index[general]{{-}{-}with-dir-password}
+\item [ {-}{\-}with-dir-password=\lt{}Password\gt{}]
+ \index[general]{{-}{\-}with-dir-password}
This option allows you to specify the password used to access the Director
(normally from the Console program). If it is not specified, configure will
automatically create a random password.
-\item [ {-}{-}with-fd-password=\lt{}Password\gt{} ]
- \index[general]{{-}{-}with-fd-password}
+\item [ {-}{\-}with-fd-password=\lt{}Password\gt{} ]
+ \index[general]{{-}{\-}with-fd-password}
This option allows you to specify the password used to access the File daemon
(normally called from the Director). If it is not specified, configure will
automatically create a random password.
-\item [ {-}{-}with-sd-password=\lt{}Password\gt{} ]
- \index[general]{{-}{-}with-sd-password}
+\item [ {-}{\-}with-sd-password=\lt{}Password\gt{} ]
+ \index[general]{{-}{\-}with-sd-password}
This option allows you to specify the password used to access the Storage daemon
(normally called from the Director). If it is not specified, configure will
automatically create a random password.
-\item [ {-}{-}with-dir-user=\lt{}User\gt{} ]
- \index[general]{{-}{-}with-dir-user}
+\item [ {-}{\-}with-dir-user=\lt{}User\gt{} ]
+ \index[general]{{-}{\-}with-dir-user}
This option allows you to specify the Userid used to run the Director. The
Director must be started as root, but doesn't need to run as root, and
after doing preliminary initializations, it can "drop" to the UserId
create the User prior to running {\bf make install}, because the
working directory owner will be set to {\bf User}.
-\item [ {-}{-}with-dir-group=\lt{}Group\gt{} ]
- \index[general]{{-}{-}with-dir-group}
+\item [ {-}{\-}with-dir-group=\lt{}Group\gt{} ]
+ \index[general]{{-}{\-}with-dir-group}
This option allows you to specify the GroupId used to run the Director. The
Director must be started as root, but doesn't need to run as root, and after
doing preliminary initializations, it can "drop" to the GroupId specified
create the Group prior to running {\bf make install}, because the
working directory group will be set to {\bf Group}.
-\item [ {-}{-}with-sd-user=\lt{}User\gt{} ]
- \index[general]{{-}{-}with-sd-user}
+\item [ {-}{\-}with-sd-user=\lt{}User\gt{} ]
+ \index[general]{{-}{\-}with-sd-user}
This option allows you to specify the Userid used to run the Storage daemon.
The Storage daemon must be started as root, but doesn't need to run as root,
and after doing preliminary initializations, it can "drop" to the UserId
that the Storage daemon has access to all the devices (tape drives, ...) that
it needs.
-\item [ {-}{-}with-sd-group=\lt{}Group\gt{} ]
- \index[general]{{-}{-}with-sd-group}
+\item [ {-}{\-}with-sd-group=\lt{}Group\gt{} ]
+ \index[general]{{-}{\-}with-sd-group}
This option allows you to specify the GroupId used to run the Storage daemon.
The Storage daemon must be started as root, but doesn't need to run as root,
and after doing preliminary initializations, it can "drop" to the GroupId
specified on this option.
-\item [ {-}{-}with-fd-user=\lt{}User\gt{} ]
- \index[general]{{-}{-}with-fd-user}
+\item [ {-}{\-}with-fd-user=\lt{}User\gt{} ]
+ \index[general]{{-}{\-}with-fd-user}
This option allows you to specify the Userid used to run the File daemon. The
File daemon must be started as root, and in most cases, it needs to run as
root, so this option is used only in very special cases, after doing
preliminary initializations, it can "drop" to the UserId specified on this
option.
-\item [ {-}{-}with-fd-group=\lt{}Group\gt{} ]
- \index[general]{{-}{-}with-fd-group}
+\item [ {-}{\-}with-fd-group=\lt{}Group\gt{} ]
+ \index[general]{{-}{\-}with-fd-group}
This option allows you to specify the GroupId used to run the File daemon.
The File daemon must be started as root, and in most cases, it must be run as
root, however, after doing preliminary initializations, it can "drop" to
the GroupId specified on this option.
-\item [ {-}{-}with-mon-dir-password=\lt{}Password\gt{}]
- \index[general]{{-}{-}with-mon-dir-password}
+\item [ {-}{\-}with-mon-dir-password=\lt{}Password\gt{}]
+ \index[general]{{-}{\-}with-mon-dir-password}
This option allows you to specify the password used to access the Directory
from the monitor. If it is not specified, configure will
automatically create a random password.
-\item [ {-}{-}with-mon-fd-password=\lt{}Password\gt{} ]
- \index[general]{{-}{-}with-mon-fd-password}
+\item [ {-}{\-}with-mon-fd-password=\lt{}Password\gt{} ]
+ \index[general]{{-}{\-}with-mon-fd-password}
This option allows you to specify the password used to access the File daemon
from the Monitor. If it is not specified, configure will
automatically create a random password.
-\item [ {-}{-}with-mon-sd-password=\lt{}Password\gt{} ]
- \index[general]{{-}{-}with-mon-sd-password}
+\item [ {-}{\-}with-mon-sd-password=\lt{}Password\gt{} ]
+ \index[general]{{-}{\-}with-mon-sd-password}
This option allows you to specify the password used to access the
Storage daemon from the Monitor. If it is not specified, configure will
automatically create a random password.
-\item [ {-}{-}with-db-name=\lt{}database-name\gt{} ]
- \index[general]{{-}{-}with-db-name}
+\item [ {-}{\-}with-db-name=\lt{}database-name\gt{} ]
+ \index[general]{{-}{\-}with-db-name}
This option allows you to specify the database name to be used in
the conf files. The default is bacula.
-\item [ {-}{-}with-db-user=\lt{}database-user\gt{} ]
- \index[general]{{-}{-}with-db-user}
+\item [ {-}{\-}with-db-user=\lt{}database-user\gt{} ]
+ \index[general]{{-}{\-}with-db-user}
This option allows you to specify the database user name to be used in
the conf files. The default is bacula.
--with-pid-dir=$HOME/bacula/bin/working \
--with-subsys-dir=$HOME/bacula/bin/working \
--enable-bat \
- --with-qwt=$HOME/bacula/depkgs/qwt \
--enable-conio
\end{verbatim}
\normalsize
--with-working-dir=$HOME/bacula/working
--with-pid-dir=$HOME/bacula/bin/working \
--with-subsys-dir=$HOME/bacula/bin/working
- --enable-gnome \
--enable-conio
\end{verbatim}
\normalsize
--with-scriptdir=/etc/bacula \
--enable-smartalloc \
--enable-bat \
- --with-qwt=$HOME/bacula/depkgs/qwt \
--with-mysql \
--with-working-dir=/var/bacula \
--with-pid-dir=/var/run \
--sysconfdir=$HOME/bacula/bin \
--mandir=$HOME/bacula/bin \
--enable-smartalloc \
- --enable-gnome \
--enable-bat \
- --with-qwt=$HOME/bacula/depkgs/qwt \
--enable-bwx-console \
--enable-tray-monitor \
--with-pid-dir=$HOME/bacula/bin/working \
After doing a {\bf make install} the following files will be installed on your
system (more or less). The exact files and location (directory) for each file
-depends on your {\bf ./configure} command (e.g. bgnome-console and
-bgnome-console.conf are not installed if you do not configure GNOME. Also, if
-you are using SQLite instead of MySQL, some of the files will be different).
+depends on your {\bf ./configure} command (e.g. if you are using SQLite instead
+of MySQL, some of the files will be different).
NOTE: it is quite probable that this list is out of date. But it is a
starting point.
delete_catalog_backup
drop_bacula_tables
drop_mysql_tables
-bgnome-console
-bgnome-console.conf
make_bacula_tables
make_catalog_backup
make_mysql_tables
\index[general]{License!GNU Lesser General Public }
\elink{image of a Philosophical GNU}
-{\url{http://www.gnu.org/graphics/philosophicalgnu.html}} [
-\elink{English}{\url{http://www.gnu.org/copyleft/lesser.html}} |
-\elink{Japanese}{\url{http://www.gnu.org/copyleft/lesser.ja.html}} ]
+{http://www.gnu.org/graphics/philosophicalgnu.html} [
+\elink{English}{http://www.gnu.org/copyleft/lesser.html} |
+\elink{Japanese}{http://www.gnu.org/copyleft/lesser.ja.html} ]
\begin{itemize}
\item
\elink{Why you shouldn't use the Lesser GPL for your next
- library}{\url{http://www.gnu.org/philosophy/why-not-lgpl.html}}
+ library}{http://www.gnu.org/philosophy/why-not-lgpl.html}
\item
\elink{What to do if you see a possible LGPL
- violation}{\url{http://www.gnu.org/copyleft/gpl-violation.html}}
+ violation}{http://www.gnu.org/copyleft/gpl-violation.html}
\item
\elink{Translations of the LGPL}
-{\url{http://www.gnu.org/copyleft/copyleft.html\#translationsLGPL}}
+{http://www.gnu.org/copyleft/copyleft.html\#translationsLGPL}
\item The GNU Lesser General Public License as a
- \elink{text file}{\url{http://www.gnu.org/copyleft/lesser.txt}}
+ \elink{text file}{http://www.gnu.org/copyleft/lesser.txt}
\item The GNU Lesser General Public License as a
- \elink{Texinfo}{\url{http://www.gnu.org/copyleft/lesser.texi}} file
+ \elink{Texinfo}{http://www.gnu.org/copyleft/lesser.texi} file
\end{itemize}
Library General Public License. For an explanation of why this change was
necessary, read the
\elink{Why you shouldn't use the Lesser GPL for your next
-library}{\url{http://www.gnu.org/philosophy/why-not-lgpl.html}} article.
+library}{http://www.gnu.org/philosophy/why-not-lgpl.html} article.
\section{Table of Contents}
\index[general]{Table of Contents }
That's all there is to it!
Return to
-\elink{GNU's home page}{\url{http://www.gnu.org/home.html}}.
+\elink{GNU's home page}{http://www.gnu.org/home.html}.
FSF \& GNU inquiries \& questions to
\elink{gnu@gnu.org}{mailto:gnu@gnu.org}. Other
-\elink{ways to contact}{\url{http://www.gnu.org/home.html\#ContactInfo}} the FSF.
+\elink{ways to contact}{http://www.gnu.org/home.html\#ContactInfo} the FSF.
Comments on these web pages to
\elink{webmasters@www.gnu.org}{mailto:webmasters@www.gnu.org}, send other
If you have a printed copy of this manual, the details of each of
the licenses referred to in this chapter can be found in the
online version of the manual at
-\elink{http://www.bacula.org}{\url{http://www.bacula.org}}.
+\elink{http://www.bacula.org}{http://www.bacula.org}.
\section{FDL}
\index[general]{FDL }
if you would send any corrections or changes to the Bacula project.
The most recent version of the manual can always be found online
-at \elink{http://www.bacula.org}{\url{http://www.bacula.org}}.
+at \elink{http://www.bacula.org}{http://www.bacula.org}.
\section{GPL}
\index[general]{GPL }
project) has the rights to the code. This Fiduciary License Agreement
is found on the Bacula web site at:
-\elink{http://www.bacula.org/en/FLA-bacula.en.pdf}{\url{http://www.bacula.org/en/FLA-bacula.en.pdf}}
+\elink{http://www.bacula.org/en/FLA-bacula.en.pdf}{http://www.bacula.org/en/FLA-bacula.en.pdf}
and if you are submitting code, you should fill it out then sent to:
-%%
-
-%%
-
-\chapter{New Features in 3.1.4 (Development Version}
+\chapter{New Features in 5.0.0}
\label{NewFeaturesChapter}
-This chapter presents the new features that are currently under development
-in the 3.1.x versions to be released as Bacula version 3.2.0 sometime in
-late 2009 or early 2010.
+This chapter presents the new features that are in the
+released Bacula version 5.0.0.
\section{Truncate volume after purge}
\label{sec:actiononpurge}
Jobs on any other available compatible drive. This facilitates writing to
multiple drives with multiple Jobs that all use the same Pool.
+This project was funded by Bacula Systems.
+
\section{Restore from Multiple Storage Daemons}
\index[general]{Restore}
\end{verbatim}
\begin{description}
-\item {\bf i}
- compare the inodes
-
-\item {\bf p}
- compare the permission bits
-
-\item {\bf n}
- compare the number of links
-
-\item {\bf u}
- compare the user id
-
-\item {\bf g}
- compare the group id
-
-\item {\bf s}
- compare the size
-
-\item {\bf a}
- compare the access time
-
-\item {\bf m}
- compare the modification time (st\_mtime)
-
-\item {\bf c}
- compare the change time (st\_ctime)
-
-\item {\bf d}
- report file size decreases
-
-\item {\bf 5}
- compare the MD5 signature
-
-\item {\bf 1}
- compare the SHA1 signature
+\item {\bf i} compare the inodes
+\item {\bf p} compare the permission bits
+\item {\bf n} compare the number of links
+\item {\bf u} compare the user id
+\item {\bf g} compare the group id
+\item {\bf s} compare the size
+\item {\bf a} compare the access time
+\item {\bf m} compare the modification time (st\_mtime)
+\item {\bf c} compare the change time (st\_ctime)
+\item {\bf d} report file size decreases
+\item {\bf 5} compare the MD5 signature
+\item {\bf 1} compare the SHA1 signature
\end{description}
\textbf{Important note:} If you decide to use checksum in Accurate jobs,
deduplication. By default, Bacula will check modification/creation time
and size.
+This project was funded by Bacula Systems.
+
\section{Tab-completion for Bconsole}
\label{sec:tabcompletion}
The new bconsole won't be able to tab-complete with older directors.
+This project was funded by Bacula Systems.
+
+\section{Pool File and Job retention}
+\label{sec:poolfilejobretention}
+
+% TODO check
+We added two new Pool directives, \texttt{FileRetention} and
+\texttt{JobRetention}, that take precedence over Client directives of the same
+name. It allows you to control the Catalog pruning algorithm Pool by Pool. For
+example, you can decide to increase Retention times for Archive or OffSite Pool.
+
+\section{Read-only File Daemon using capabilities}
+\label{sec:fdreadonly}
+This feature implements support of keeping \textbf{ReadAll} capabilities after
+UID/GID switch, this allows FD to keep root read but drop write permission.
+
+It introduces new \texttt{bacula-fd} option (\texttt{-k}) specifying that
+\textbf{ReadAll} capabilities should be kept after UID/GID switch.
+
+\begin{verbatim}
+root@localhost:~# bacula-fd -k -u nobody -g nobody
+\end{verbatim}
+
+The code for this feature was contributed by AltLinux.
+
\section{Bvfs API}
\label{sec:bvfs}
* .bvfs_lsdir path=/ jobid=1,2
\end{verbatim}
+This project was funded by Bacula Systems.
+
\section{Testing your Tape Drive}
\label{sec:btapespeed}
\section{New Bat Features}
+Those new features were funded by Bacula Systems.
+
\subsection{Media List View}
By clicking on ``Media'', you can see the list of all your volumes. You will be
\label{fig:achcontent}
\end{figure}
-\section{Console Timeout Option}
-You can now use the -u option of bconsole to set a timeout for each command.
+To use this feature, you need to use the latest mtx-changer script
+version. (With new \texttt{listall} and \texttt{transfer} commands)
+
+\section{Bat on Windows}
+We have ported {\bf bat} to Windows and it is now installed
+by default when the installer is run. It works quite well
+on Win32, but has not had a lot of testing there, so your
+feedback would be welcome. Unfortunately, eventhough it is
+installed by default, it does not yet work on 64 bit Windows
+operating systems.
+
+\section{New Win32 Installer}
+The Win32 installer has been modified in several very important
+ways.
+\begin{itemize}
+\item You must deinstall any current version of the
+Win32 File daemon before upgrading to the new one.
+If you forget to do so, the new installation will fail.
+To correct this failure, you must manually shutdown
+and deinstall the old File daemon.
+\item All files (other than menu links) are installed
+in {\bf c:/Program Files/Bacula}.
+\item The installer no longer sets this
+file to require administrator privileges by default. If you want
+to do so, please do it manually using the {\bf cacls} program.
+For example:
+\begin{verbatim}
+cacls "C:\Program Files\Bacula" /T /G SYSTEM:F Administrators:F
+\end{verbatim}
+\item The server daemons (Director and Storage daemon) are
+no longer included in the Windows installer. If you want the
+Windows servers, you will either need to build them yourself (note
+they have not been ported to 64 bits), or you can contact
+Bacula Systems about this.
+\end{itemize}
+
+\section{Win64 Installer}
+We have corrected a number of problems that required manual
+editing of the conf files. In most cases, it should now
+install and work. {\bf bat} is by default installed in
+{\bf c:/Program Files/Bacula/bin32} rather than
+{\bf c:/Program Files/Bacula} as is the case with the 32
+bit Windows installer.
+
+\section{Bare Metal Recovery USB Key}
+We have made a number of significant improvements in the
+Bare Metal Recovery USB key. Please see the README files
+it the {\bf rescue} release for more details.
+
+
+
+\section{bconsole Timeout Option}
+You can now use the -u option of {\bf bconsole} to set a timeout in seconds
+for commands. This is useful with GUI programs that use {\bf bconsole}
+to interface to the Director.
+
+\section{Important Changes}
+\label{sec:importantchanges}
+
+\begin{itemize}
+\item You are now allowed to Migrate, Copy, and Virtual Full to read and write
+ to the same Pool. The Storage daemon ensures that you do not read and
+ write to the same Volume.
+\item The \texttt{Device Poll Interval} is now 5 minutes. (previously did not
+ poll by default).
+\item The new \texttt{mtx-changer} script has two new options, \texttt{listall}
+ and \texttt{transfer}. Be sure to apply any custom changes on to the
+ mtx-changer script, or better yet, use mtx-changer.conf to configure
+ them.
+\item To enhance security of the \texttt{BackupCatalog} job, we provide a new
+ script (\texttt{make\_catalog\_backup.pl}) that does not expose your catalog
+ password. If you want to use the new script, you will need to
+ manually change the \texttt{BackupCatalog} Job definition.
+\item The \texttt{bconsole} \texttt{help} command now accepts
+ an argument, which if provided produces information on that
+ command (ex: \texttt{help run}).
+\end{itemize}
+
+\subsection{Custom Catalog queries}
+
+If you wish to add specialized commands that list the contents of the catalog,
+you can do so by adding them to the \texttt{query.sql} file. This
+\texttt{query.sql} file is now empty by default. The file
+\texttt{examples/sample-query.sql} has an a number of sample commands
+you might find useful.
+
+\subsection{Deprecated parts}
+
+The following items have been \textbf{deprecated} for a long time, and are now
+removed from the code.
+\begin{itemize}
+\item Gnome console
+\item Support for SQLite 2
+\end{itemize}
+
+\section{Misc Changes}
+\label{sec:miscchanges}
+
+\begin{itemize}
+\item Updated Nagios check\_bacula
+\item Updated man files
+\item Added OSX package generation script in platforms/darwin
+\item Added Spanish and Ukrainian Bacula translations
+\item Enable/disable command shows only Jobs that can change
+\item Added \texttt{show disabled} command to show disabled Jobs
+\item Many ACL improvements
+\item Added Level to FD status Job output
+\item Begin Ingres DB driver (not yet working)
+\item Split RedHat spec files into bacula, bat, mtx, and docs
+\item Reorganized the manuals (fewer separate manuals)
+\item Added lock/unlock order protection in lock manager
+\item Allow 64 bit sizes for a number of variables
+\item Fixed several deadlocks or potential race conditions in the SD
+\end{itemize}
+
+\chapter{Released Version 3.0.3 and 3.0.3a}
+
+There are no new features in version 3.0.3. This version simply fixes a
+number of bugs found in version 3.0.2 during the onging development
+process.
\chapter{New Features in Released Version 3.0.2}
{\bf \verb:--:sysconfdir} option that you specified on the {\bf
./configure} command and by default is named {\bf bconsole.conf}.
-If you choose to build the GNOME console with the {\bf
-\verb:--:enable-gnome} option, you also find a default configuration file
-for it, named {\bf bgnome-console.conf}.
-
The same applies to the wxWidgets console, which is build with the {\bf
\verb:--:enable-bwx-console} option, and the name of the default
configuration file is, in this case, {\bf bwx-console.conf}.
./bacula-fd -t -c bacula-fd.conf
./bacula-sd -t -c bacula-sd.conf
./bconsole -t -c bconsole.conf
-./bgnome-console -t -c bgnome-console.conf
./bwx-console -t -c bwx-console.conf
./bat -t -c bat.conf
su <normal user> -c "./bacula-tray-monitor -t -c tray-monitor.conf"
but better test than be sorry. For FreeBSD (and probably other xBSD
flavors), reading the above mentioned tape testing chapter is a must.
Also, for FreeBSD, please see \elink{The FreeBSD
-Diary}{\url{http://www.freebsddiary.org/bacula.php}} for a detailed description
+Diary}{http://www.freebsddiary.org/bacula.php} for a detailed description
%TODO: fix elink so it shows URL in PDF
on how to make Bacula work on your system. In addition, users of FreeBSD
prior to 4.9-STABLE dated Mon Dec 29 15:18:01 2003 UTC who plan to use tape
\begin{itemize}
\item MySQL 4.1
\item PostgreSQL 7.4
- \item SQLite 2.8.16 or SQLite 3
+ \item SQLite 3
\end{itemize}
\item If you want to build the Win32 binaries, please see the
GNOME 1.4 is no longer supported.
\item The wxWidgets Console program is developed and tested with the latest
stable ANSI or Unicode version of
- \elink{wxWidgets}{\url{http://www.wxwidgets.org/}} (2.6.1). It works fine with the
+ \elink{wxWidgets}{http://www.wxwidgets.org} (2.6.1). It works fine with the
Windows and GTK+-2.x version of wxWidgets, and should also work on other
platforms supported by wxWidgets.
\item The Tray Monitor program is developed for GTK+-2.x. It needs GNOME less
or equal to 2.2, KDE greater or equal to 3.1 or any window manager supporting
the
\elink{ FreeDesktop system tray
- standard}{\url{http://www.freedesktop.org/Standards/systemtray-spec}}.
+ standard}{http://www.freedesktop.org/Standards/systemtray-spec}.
\item If you want to enable command line editing and history, you will need
to have /usr/include/termcap.h and either the termcap or the ncurses library
loaded (libtermcap-devel or ncurses-devel).
\item If you want to use DVD as backup medium, you will need to download the
- \elink{dvd+rw-tools 5.21.4.10.8}{\url{http://fy.chalmers.se/~appro/linux/DVD+RW/}},
+ \elink{dvd+rw-tools 5.21.4.10.8}{http://fy.chalmers.se/~appro/linux/DVD+RW/},
apply the patch that is in the {\bf patches} directory of the main
source tree
to make these tools compatible with Bacula, then compile and install them.
A new tool is provided in the form of a bacula plugin for the BartPE rescue
CD. BartPE is a self-contained WindowsXP boot CD which you can make using the
PeBuilder tools available at
-\elink{http://www.nu2.nu/pebuilder/}{\url{http://www.nu2.nu/pebuilder/}} and a valid
+\elink{http://www.nu2.nu/pebuilder/}{http://www.nu2.nu/pebuilder/} and a valid
Windows XP SP1 CDROM. The plugin is provided as a zip archive. Unzip the file
and copy the bacula directory into the plugin directory of your BartPE
installation. Edit the configuration files to suit your installation and build
restores to alternate directories because higher level directories were not
backed up by Bacula, you can correct any problems with the {\bf SetACL}
available under the GPL license at:
-\elink{http://sourceforge.net/projects/setacl/}{\url{http://sourceforge.net/project%
-s/setacl/}}.
+\elink{http://sourceforge.net/projects/setacl/}{http://sourceforge.net/project%
+s/setacl/}.
\section{Alternate Disaster Recovery Suggestion for Win32 Systems}
\index[general]{Systems!Alternate Disaster Recovery Suggestion for Win32}
Many thanks to Charles Curley who wrote
\elink{Linux Complete Backup and Recovery HOWTO}
-{\url{http://www.tldp.org/HOWTO/Linux-Complete-Backup-and-Recovery-HOWTO/index.html%
-}} for the
-\elink{The Linux Documentation Project}{\url{http://www.tldp.org/}}. This is an
+{http://www.tldp.org/HOWTO/Linux-Complete-Backup-and-Recovery-HOWTO/index.html%
+} for the
+\elink{The Linux Documentation Project}{http://www.tldp.org/}. This is an
excellent document on how to do Bare Metal Recovery on Linux systems, and it
was this document that made me realize that Bacula could do the same thing.
You can find quite a few additional resources, both commercial and free at
-\elink{Storage Mountain}{\url{http://www.backupcentral.com}}, formerly known as
+\elink{Storage Mountain}{http://www.backupcentral.com}, formerly known as
Backup Central.
And finally, the O'Reilly book, "Unix Backup \& Recovery" by W. Curtis
be restored if you want the directory entries properly restored.
\item The {\bf bextract} program does not restore access control lists
- (ACLs), nor will it restore non-portable Win32 data (default) to Unix
- machines.
+ (ACLs) to Unix machines.
\end{itemize}
\label{Windows}
\begin{description}
\item [cd]
- The {\bf cd} command changes the current directory to the argument
- specified.
- It operates much like the Unix {\bf cd} command. Wildcard specifications are
- not permitted.
+ The {\bf cd} command changes the current directory to the argument specified.
+ It operates much like the Unix {\bf cd} command. Wildcard specifications are
+ not permitted.
- Note, on Windows systems, the various drives (c:, d:, ...) are treated like
- a
- directory within the file tree while in the file selection mode. As a
- consequence, you must do a {\bf cd c:} or possibly in some cases a {\bf cd
- C:} (note upper case) to get down to the first directory.
+ Note, on Windows systems, the various drives (c:, d:, ...) are treated like a
+ directory within the file tree while in the file selection mode. As a
+ consequence, you must do a {\bf cd c:} or possibly in some cases a {\bf cd
+ C:} (note upper case) to get down to the first directory.
\item [dir]
\index[dir]{dir }
- The {\bf dir} command is similar to the {\bf ls} command, except that it
- prints it in long format (all details). This command can be a bit slower
- than
- the {\bf ls} command because it must access the catalog database for the
- detailed information for each file.
+ The {\bf dir} command is similar to the {\bf ls} command, except that it
+ prints it in long format (all details). This command can be a bit slower
+ than the {\bf ls} command because it must access the catalog database for
+ the detailed information for each file.
\item [estimate]
\index[dir]{estimate }
- The {\bf estimate} command prints a summary of the total files in the tree,
- how many are marked to be restored, and an estimate of the number of bytes
- to
- be restored. This can be useful if you are short on disk space on the
- machine
- where the files will be restored.
+ The {\bf estimate} command prints a summary of the total files in the tree,
+ how many are marked to be restored, and an estimate of the number of bytes
+ to be restored. This can be useful if you are short on disk space on the
+ machine where the files will be restored.
\item [find]
\index[dir]{find}
(sometimes called multiplexing).
\item Job sequencing using priorities.
\item \ilink{Console}{UADef} interface to the Director allowing complete
- control. A shell, Qt4 GUI, GNOME GUI and wxWidgets GUI versions of
+ control. A shell, Qt4 GUI, wxWidgets GUI and Web versions of
the Console program are available. Note, the Qt4 GUI program called
the Bacula Administration tool or bat, offers many additional
features over the shell program.
automated for Linux systems and partially automated for Solaris. See
\ilink{Disaster Recovery Using Bacula}{RescueChapter}. This is also
reported to work on Win2K/XP systems.
- \item Listing and Restoration of files using stand-alone {\bf bls} and {\bf
- 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.
+ \item Listing and Restoration of files using stand-alone {\bf bls} and {\bf
+ 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.
\item Ability to restore the catalog database rapidly by using bootstrap
files (previously saved).
\item Ability to recreate the catalog database by scanning backup Volumes
\item Programmed to handle arbitrarily long filenames and messages.
\item GZIP compression on a file by file basis done by the Client program if
requested before network transit.
- \item Saves and restores POSIX ACLs on most OSes if enabled.
+ \item Saves and restores POSIX ACLs and Extended Attributes on most OSes if
+ enabled.
\item Access control lists for Consoles that permit restricting user access
to only their data.
\item Support for save/restore of files larger than 2GB.
\item Support for 64 bit machines, e.g. amd64, Sparc.
\item Support ANSI and IBM tape labels.
- \item Support for Unicode filenames (e.g. Chinese) on Win32 machines on
- version 1.37.28 and greater.
+ \item Support for Unicode filenames (e.g. Chinese) on Win32 machines
\item Consistent backup of open files on Win32 systems (WinXP, Win2003,
and Vista)
but not Win2000, using Volume Shadow Copy (VSS).
already adapted) for proper interfacing. You can find a list of
autochangers supported by {\bf mtx} at the following link:
\elink{http://mtx.opensource-sw.net/compatibility.php}
-{\url{http://mtx.opensource-sw.net/compatibility.php}}.
+{http://mtx.opensource-sw.net/compatibility.php}.
The home page for the {\bf mtx} project can be found at:
-\elink{http://mtx.opensource-sw.net/}{\url{http://mtx.opensource-sw.net/}}.
+\elink{http://mtx.opensource-sw.net/}{http://mtx.opensource-sw.net/}.
\addcontentsline{lot}{table}{Autochangers Known to Work with Bacula}
If turning off anti-virus software does not resolve your VSS
problems, you might have to turn on VSS debugging. The following
link describes how to do this:
-\elink{http://support.microsoft.com/kb/887013/en-us}{\url{http://support.microsoft.com/kb/887013/en-us}}.
+\elink{http://support.microsoft.com/kb/887013/en-us}{http://support.microsoft.com/kb/887013/en-us}.
In Microsoft Windows Small Business Server 2003 the VSS Writer for Exchange
is turned off by default. To turn it on, please see the following link:
-\elink{http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q838183}{\url{
-http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q838183}}
+\elink{http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q838183}{
+http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q838183}
The most likely source of problems is authentication when the Director
It looks like Bart PE Builder, which creates a Windows PE (Pre-installation
Environment) Boot-CD, may be just what is needed to build a complete disaster
recovery system for Win32. This distribution can be found at
-\elink{http://www.nu2.nu/pebuilder/}{\url{http://www.nu2.nu/pebuilder/}}.
+\elink{http://www.nu2.nu/pebuilder/}{http://www.nu2.nu/pebuilder/}.
\section{Windows Restore Problems}
\index[general]{Problems!Windows Restore}
to cease the ownership of those files and thus change the permissions.
However, a much better solution to working with and changing Win32 permissions
is the program {\bf SetACL}, which can be found at
-\elink{http://setacl.sourceforge.net/}{\url{http://setacl.sourceforge.net/}}.
+\elink{http://setacl.sourceforge.net/}{http://setacl.sourceforge.net/}.
If you have not installed Bacula while running as Administrator
and if Bacula is not running as a Process with the userid (User Name) SYSTEM,
Some users like to shutdown their Windows machines after a backup using a
Client Run After Job directive. If you want to do something similar, you might
take the shutdown program from the
-\elink{apcupsd project}{\url{http://www.apcupsd.com}} or one from the
+\elink{apcupsd project}{http://www.apcupsd.com} or one from the
\elink{Sysinternals project}
-{\url{http://technet.microsoft.com/en-us/sysinternals/bb897541.aspx}}.
+{http://technet.microsoft.com/en-us/sysinternals/bb897541.aspx}.
\author{Kern Sibbald}
\date{\vspace{1.0in}\today \\
- This manual documents Bacula version \fullversion \\
+ This manual documents Bacula version \input{version} \\
\vspace{0.2in}
- Copyright {\copyright} 1999-2009, Free Software Foundation Europe
+ Copyright {\copyright} 1999-2010, Free Software Foundation Europe
e.V. \\
Bacula {\textregistered} is a registered trademark of Kern Sibbald.\\
\vspace{0.2in}
\index[general]{License!GNU Lesser General Public }
\elink{image of a Philosophical GNU}
-{\url{http://www.gnu.org/graphics/philosophicalgnu.html}} [
-\elink{English}{\url{http://www.gnu.org/copyleft/lesser.html}} |
-\elink{Japanese}{\url{http://www.gnu.org/copyleft/lesser.ja.html}} ]
+{http://www.gnu.org/graphics/philosophicalgnu.html} [
+\elink{English}{http://www.gnu.org/copyleft/lesser.html} |
+\elink{Japanese}{http://www.gnu.org/copyleft/lesser.ja.html} ]
\begin{itemize}
\item
\elink{Why you shouldn't use the Lesser GPL for your next
- library}{\url{http://www.gnu.org/philosophy/why-not-lgpl.html}}
+ library}{http://www.gnu.org/philosophy/why-not-lgpl.html}
\item
\elink{What to do if you see a possible LGPL
- violation}{\url{http://www.gnu.org/copyleft/gpl-violation.html}}
+ violation}{http://www.gnu.org/copyleft/gpl-violation.html}
\item
\elink{Translations of the LGPL}
-{\url{http://www.gnu.org/copyleft/copyleft.html\#translationsLGPL}}
+{http://www.gnu.org/copyleft/copyleft.html\#translationsLGPL}
\item The GNU Lesser General Public License as a
- \elink{text file}{\url{http://www.gnu.org/copyleft/lesser.txt}}
+ \elink{text file}{http://www.gnu.org/copyleft/lesser.txt}
\item The GNU Lesser General Public License as a
- \elink{Texinfo}{\url{http://www.gnu.org/copyleft/lesser.texi}} file
+ \elink{Texinfo}{http://www.gnu.org/copyleft/lesser.texi} file
\end{itemize}
Library General Public License. For an explanation of why this change was
necessary, read the
\elink{Why you shouldn't use the Lesser GPL for your next
-library}{\url{http://www.gnu.org/philosophy/why-not-lgpl.html}} article.
+library}{http://www.gnu.org/philosophy/why-not-lgpl.html} article.
\section{Table of Contents}
\index[general]{Table of Contents }
That's all there is to it!
Return to
-\elink{GNU's home page}{\url{http://www.gnu.org/home.html}}.
+\elink{GNU's home page}{http://www.gnu.org/home.html}.
FSF \& GNU inquiries \& questions to
\elink{gnu@gnu.org}{mailto:gnu@gnu.org}. Other
-\elink{ways to contact}{\url{http://www.gnu.org/home.html\#ContactInfo}} the FSF.
+\elink{ways to contact}{http://www.gnu.org/home.html\#ContactInfo} the FSF.
Comments on these web pages to
\elink{webmasters@www.gnu.org}{mailto:webmasters@www.gnu.org}, send other
If you have a printed copy of this manual, the details of each of
the licenses referred to in this chapter can be found in the
online version of the manual at
-\elink{http://www.bacula.org}{\url{http://www.bacula.org}}.
+\elink{http://www.bacula.org}{http://www.bacula.org}.
\section{FDL}
\index[general]{FDL }
if you would send any corrections or changes to the Bacula project.
The most recent version of the manual can always be found online
-at \elink{http://www.bacula.org}{\url{http://www.bacula.org}}.
+at \elink{http://www.bacula.org}{http://www.bacula.org}.
\section{GPL}
\index[general]{GPL }
project) has the rights to the code. This Fiduciary License Agreement
is found on the Bacula web site at:
-\elink{http://www.bacula.org/en/FLA-bacula.en.pdf}{\url{http://www.bacula.org/en/FLA-bacula.en.pdf}}
+\elink{http://www.bacula.org/en/FLA-bacula.en.pdf}{http://www.bacula.org/en/FLA-bacula.en.pdf}
and if you are submitting code, you should fill it out then sent to:
with newer information, so after reading it, if you don't find what you
want, you might try the Bacula wiki maintained by Frank Sweetser, which
contains more than just a FAQ:
-\elink{http://wiki.bacula.org}{\url{http://wiki.bacula.org}}
+\elink{http://wiki.bacula.org}{http://wiki.bacula.org}
or go directly to the FAQ at:
\elink{http://wiki.bacula.org/doku.php?id=faq}
-{\url{http://wiki.bacula.org/doku.php?id=faq}}.
+{http://wiki.bacula.org/doku.php?id=faq}.
Please also see
\ilink{the bugs section}{BugsChapter} of this document for a list
\date{\vspace{1.0in}\today \\
This manual documents Bacula version \input{version} \\
\vspace{0.2in}
- Copyright \copyright 1999-2009, Free Software Foundation Europe
+ Copyright \copyright 1999-2010, Free Software Foundation Europe
e.V. \\
\vspace{0.2in}
Permission is granted to copy, distribute and/or modify this document under the terms of the
For FreeBSD users, please see the notes below for doing further testing of
your tape drive.
+\subsection{Testing tape drive speed}
+\label{sec:btapespeed}
+
+To determine the best configuration of your tape drive, you can run the
+\texttt{speed} command available in the \texttt{btape} program.
+
+This command can have the following arguments:
+\begin{itemize}
+\item[\texttt{file\_size=n}] Specify the Maximum File Size for this test
+ (between 1 and 5GB). This counter is in GB.
+\item[\texttt{nb\_file=n}] Specify the number of file to be written. The amount
+ of data should be greater than your memory ($file\_size*nb\_file$).
+\item[\texttt{skip\_zero}] This flag permits to skip tests with constant
+ data.
+\item[\texttt{skip\_random}] This flag permits to skip tests with random
+ data.
+\item[\texttt{skip\_raw}] This flag permits to skip tests with raw access.
+\item[\texttt{skip\_block}] This flag permits to skip tests with Bacula block
+ access.
+\end{itemize}
+
+\begin{verbatim}
+*speed file_size=3 skip_raw
+btape.c:1078 Test with zero data and bacula block structure.
+btape.c:956 Begin writing 3 files of 3.221 GB with blocks of 129024 bytes.
+++++++++++++++++++++++++++++++++++++++++++
+btape.c:604 Wrote 1 EOF to "Drive-0" (/dev/nst0)
+btape.c:406 Volume bytes=3.221 GB. Write rate = 44.128 MB/s
+...
+btape.c:383 Total Volume bytes=9.664 GB. Total Write rate = 43.531 MB/s
+
+btape.c:1090 Test with random data, should give the minimum throughput.
+btape.c:956 Begin writing 3 files of 3.221 GB with blocks of 129024 bytes.
++++++++++++++++++++++++++++++++++++++++++++
+btape.c:604 Wrote 1 EOF to "Drive-0" (/dev/nst0)
+btape.c:406 Volume bytes=3.221 GB. Write rate = 7.271 MB/s
++++++++++++++++++++++++++++++++++++++++++++
+...
+btape.c:383 Total Volume bytes=9.664 GB. Total Write rate = 7.365 MB/s
+
+\end{verbatim}
+
+When using compression, the random test will give your the minimum throughput
+of your drive . The test using constant string will give you the maximum speed
+of your hardware chain. (cpu, memory, scsi card, cable, drive, tape).
+
+You can change the block size in the Storage Daemon configuration file.
+
\label{SCSITricks}
\subsection{Linux SCSI Tricks}
\index[general]{Tricks!Linux SCSI}
distribution.
For additional tips, please see the \elink{Bacula
-wiki}{\url{http://wiki.bacula.org}}.
+wiki}{http://wiki.bacula.org}.
\section{Upgrading Bacula Versions}
\label{upgrading}
This tip was provided by Alexander Kuehn.
-\elink{Bacula}{\url{http://www.bacula.org/}} is a really nice backup program except
+\elink{Bacula}{http://www.bacula.org/} is a really nice backup program except
that the manual tape changing requires user interaction with the bacula
console.
Bacula supports a variety of tape changers through the use of mtx-changer
scripts/programs. This highly flexible approach allowed me to create
-\elink{this shell script}{\url{http://www.bacula.org/en/rel-manual/mtx-changer.txt}} which does the following:
+\elink{this shell script}{http://www.bacula.org/en/rel-manual/mtx-changer.txt} which does the following:
% TODO: We need to include this in book appendix and point to it.
% TODO:
Whenever a new tape is required it sends a mail to the operator to insert the
\date{\vspace{1.0in}\today \\
This manual documents Bacula version \input{version} \\
\vspace{0.2in}
- Copyright \copyright 1999-2009, Free Software Foundation Europe
+ Copyright \copyright 1999-2010, Free Software Foundation Europe
e.V. \\
\vspace{0.2in}
Permission is granted to copy, distribute and/or modify this document under the terms of the