From cc4519b92225cb96bfd85e3e43a0ee87e59ad20a Mon Sep 17 00:00:00 2001 From: Kern Sibbald Date: Fri, 1 Jul 2005 12:39:52 +0000 Subject: [PATCH] Doc updates -- new GUI chapter --- docs/manual-fr/tls.tex | 143 +++++++++++++++++++++++++++++ docs/manual/autochangers.tex | 3 + docs/manual/console.tex | 2 +- docs/manual/consoleconf.tex | 4 +- docs/manual/dirdconf.tex | 10 ++- docs/manual/dvd.tex | 5 +- docs/manual/general.tex | 2 +- docs/manual/gpl.tex | 4 +- docs/manual/install.tex | 168 +++++++++++++++++------------------ docs/manual/lesser.tex | 4 +- docs/manual/monitorconf.tex | 4 +- docs/manual/mysql.tex | 17 ++-- docs/manual/postgresql.tex | 8 +- docs/manual/progs.tex | 101 +++++---------------- docs/manual/python.tex | 63 +++++++++---- docs/manual/quickstart.tex | 20 ++--- docs/manual/security.tex | 2 +- docs/manual/sqlite.tex | 4 +- docs/manual/tips.tex | 2 +- docs/manual/tutorial.tex | 10 +-- docs/manual/win32.tex | 2 +- 21 files changed, 354 insertions(+), 224 deletions(-) create mode 100644 docs/manual-fr/tls.tex diff --git a/docs/manual-fr/tls.tex b/docs/manual-fr/tls.tex new file mode 100644 index 00000000..6cd14e91 --- /dev/null +++ b/docs/manual-fr/tls.tex @@ -0,0 +1,143 @@ + +\section*{Bacula TLS} +\label{_ChapterStart61} +\index[general]{Bacula TLS} +\index[general]{TLS} +\addcontentsline{toc}{section}{Bacula TLS} + +Bacula TLS (Transport Layer Security) is built-in network +encryption code to provide secure network transport similar to +that offered by {\bf stunnel} or {\bs ssh}. The Bacula code was +written by Landon Fuller. + +Supported features of this code include: +\begin{itemize} +\item Client/Server TLS Requirement Negotiation +\item TLSv1 Connections with Server and Client Certificate +Validation +\item Forward Secrecy Support via Diffie-Hellman Ephemeral Keying +\end{itemize} + +This document will refer to both ``server'' and ``client'' contexts. These +terms refer to the accepting and initiating peer, respectively. + +Diffie-Hellman anonymous ciphers are not supported by this code. The +use of DH anonymous ciphers increases the code complexity and places +explicit trust upon the two-way CRAM-MD5 implementation. CRAM-MD5 is +subject to known plaintext attacks, and it should be considered +considerably less secure than PKI certificate-based authentication. + +Appropriate autoconf macros have been added to detect and use OpenSSL +if enabled on the {\bf ./configure} line with {\bf \verb?--?enable-openssl} + +\subsection*{TLS Configuration Directives} +\addcontentsline{toc}{section}{TLS Configuration Directives} +Additional configuration directives have been added to all the daemons +(Director, File daemon, and Storage daemon) as well as the various +different Console programs. +These new directives are defined as follows: + +\begin{description} +\item [TLS Enable = \lt{}yes|no\gt{}] +Enable TLS support. + +\item [TLS Require = \lt{}yes|no\gt{}] +Require TLS connections. + +\item [TLS Certificate = \lt{}Directory\gt{}] +Path to a PEM encoded TLS certificate. It can be used as either a client +or server certificate. PEM stands for Privacy Enhanced Mail, but in +this context refers to how the certificates are encoded. It is used +because PEM files are base64 encoded and hence ASCII text based +rather than binary. They may also contain encrypted information. + +\item [TLS Key = \lt{}Directory\gt{}] +Path to a PEM encoded TLS private key. It must correspond to the TLS +certificate. + +\item [TLS Verify Peer = \lt{}yes|no\gt{}] +Verify peer certificate. Instructs server to request and verify the +client's x509 certificate. Any client certificate signed by a known-CA +will be accepted unless the TLS Allowed CN configuration directive is used, +in which case the client certificate must correspond to the Allowed +Common Name specified. This directive is valid only for a server +and not in a client context. + +\item [TLS Allowed CN = \lt{}string list\gt{}] +Common name attribute of allowed peer certificates. If this directive is +specified, all client certificates will be verified against this list. +This directive may be specified more than once. It is not valid in a client +context. + +\item [TLS CA Certificate File = \lt{}Filename\gt{}] +The full path and filename specifying a +PEM encoded TLS CA certificate(s). Multiple certificates are +permitted in the file. One of \emph{TLS CA Certificate File} or \emph{TLS +CA Certificate Dir} are required in a server context if \emph{TLS +Verify Peer} (see above) is also specified, and are always required in a client +context. + +\item [TLS CA Certificate Dir = \lt{}Directory\gt{}] +Full path to TLS CA certificate directory. In the current implementation, +certificates must be stored PEM encoded with OpenSSL-compatible hashes, +which is the subject name's hash and an extension of {bf .0}. +One of \emph{TLS CA Certificate File} or \emph{TLS CA Certificate Dir} are +required in a server context if \emph{TLS Verify Peer} is also specified, +and are always required in a client context. + +\item [TLS DH File = \lt{}Directory\gt{}] +Path to PEM encoded Diffie-Hellman parameter file. If this directive is +specified, DH key exchange will be used for the ephemeral keying, allowing +for forward secrecy of communications. DH key exchange adds an additional +level of security because the key used for encryption/decryption by the +server and the client is computed on each end and thus is never passed over +the network if Diffie-Hellman key exchange is used. Even if DH key +exchange is not used, the encryption/decryption key is always passed +encrypted. This directive is only valid within a server context. + +To generate the parameter file, you +may use openssl: + +\begin{verbatim} + openssl dhparam -out dh1024.pem -5 1024 +\end{verbatim} + +\end{itemize} + +\subsection*{Creating a Self-signed Certificate} +\index[general]{Creating a Self-signed Certificate } +\index[general]{Certificate!Creating a Self-signed } +\addcontentsline{toc}{subsection}{Creating a Self-signed Certificate} + +You may create a self-signed certificate for use with the Bacula TLS that +will permit you to make it function, but will not allow certificate +validation. The .pem file containing both the certificate and the key +valid for 10 years can be made with the following: + +\footnotesize +\begin{verbatim} + openssl req -new -x509 -nodes -out bacula.pem -keyout bacula.pem -days 3650 +\end{verbatim} +\normalsize + +The above script will ask you a number of questions. You may simply answer +each of them by entering a return, or if you wish you may enter your own data. + + +\subsection*{Getting a CA Signed Certificate} +\index[general]{Certificate!Getting a CA Signed } +\index[general]{Getting a CA Signed Certificate } +\addcontentsline{toc}{subsection}{Getting a CA Signed Certificate} + +The process of getting a certificate that is signed by a CA is quite a bit +more complicated. You can purchase one from quite a number of PKI vendors, but +that is not at all necessary for use with Bacula. To get a CA signed +certificate, you will either need to find a friend that has setup his own CA +or to become a CA yourself, and thus you can sign all your own certificates. +The book OpenSSL by John Viega, Matt Mesier \& Pravir Chandra from O'Reilly +explains how to do it, or you can read the documentation provided in the +Open-source PKI Book project at Source Forge: +\elink{ +http://ospkibook.sourceforge.net/docs/OSPKI-2.4.7/OSPKI-html/ospki-book.htm} +{http://ospkibook.sourceforge.net/docs/OSPKI-2.4.7/OSPKI-html/ospki-book.htm}. +Note, this link may change. diff --git a/docs/manual/autochangers.tex b/docs/manual/autochangers.tex index d6d631a0..4df2bff6 100644 --- a/docs/manual/autochangers.tex +++ b/docs/manual/autochangers.tex @@ -33,6 +33,9 @@ which is explained in more detail after this list: Slot when labeling a Volume. \item You need to ensure that your Storage daemon (if not running as root) has access permissions to both the tape drive and the control device. +\item You need to have {\bf Autochanger = yes} in your Storage resource + in your bacula-dir.conf file so that you will be prompted for the + slot number when you label Volumes. \end{itemize} In version 1.37, there is a new \ilink{Autochanger diff --git a/docs/manual/console.tex b/docs/manual/console.tex index 802d1e1a..fa913c3f 100644 --- a/docs/manual/console.tex +++ b/docs/manual/console.tex @@ -2,7 +2,7 @@ %% \section*{Bacula Console} -\label{_ChapterStart23} +\label{_ConsoleChapter} \index[general]{Console!Bacula } \index[general]{Bacula Console } \addcontentsline{toc}{section}{Bacula Console} diff --git a/docs/manual/consoleconf.tex b/docs/manual/consoleconf.tex index 5231654d..ad932a2e 100644 --- a/docs/manual/consoleconf.tex +++ b/docs/manual/consoleconf.tex @@ -56,7 +56,7 @@ name is not used. \index[dir]{DIRPort } Specify the port to use to connect to the Director. This value will most likely already be set to the value you specified on the {\bf -\verb{--{with-base-port} option of the {\bf ./configure} command. This port must be +\verb:--:with-base-port} option of the {\bf ./configure} command. This port must be identical to the {\bf DIRport} specified in the {\bf Director} resource of the \ilink{Director's configuration}{_ChapterStart40} file. The @@ -236,7 +236,7 @@ and do with Bacula. \addcontentsline{toc}{subsection}{Console Commands} For more details on running the console and its commands, please see the -\ilink{Bacula Console}{_ChapterStart23} chapter of this manual. +\ilink{Bacula Console}{_ConsoleChapter} chapter of this manual. \subsection*{Sample Console Configuration File} \label{SampleConfiguration2} diff --git a/docs/manual/dirdconf.tex b/docs/manual/dirdconf.tex index 6f28738b..5479082d 100644 --- a/docs/manual/dirdconf.tex +++ b/docs/manual/dirdconf.tex @@ -131,6 +131,14 @@ Typically on Linux systems, you will set this to: {\bf /var/run}. If you are not installing Bacula in the system directories, you can use the {\bf Working Directory} as defined above. This directive is required. +\item [Scripts Directory = \lt{}Directory\gt{}] + \index[dir]{Scripts Directory } + This directive is optional and, if defined, specifies a directory in which the Director +will look for the Python startup script {\bf DirStartup.py}. This directory +may be shared by other Bacula daemons. Standard shell expansion of the +directory is done when the configuration file is read so that values such +as {\bf \$HOME} will be properly expanded. + \item [QueryFile = \lt{}Path\gt{}] \index[dir]{QueryFile } This directive is mandatory and specifies a directory and file in which the @@ -382,7 +390,7 @@ reset the access time (st\_atime), which Bacula does not use, it will cause st\_ctime to change and hence Bacula will backup the file during an Incremental or Differential backup. In the case of Sophos virus scanning, you can prevent it from resetting the access time (st\_atime) and hence changing -st\_ctime by using the {\bf \verb{--{no-reset-atime} option. For other software, +st\_ctime by using the {\bf \verb:--:no-reset-atime} option. For other software, please see their manual. When Bacula does an Incremental backup, all modified files that are still on diff --git a/docs/manual/dvd.tex b/docs/manual/dvd.tex index 2ff3391c..c67c87b5 100644 --- a/docs/manual/dvd.tex +++ b/docs/manual/dvd.tex @@ -187,6 +187,8 @@ The following directives are added to the Director's Job resource. \item DVD+RW supports only about 1000 overwrites, so every time you mount the filesystem read/write will count as one write. This can add up quickly, so it is best to mount your DVD+RW filesystem read-only. + Bacula does not need the DVD to be mounted read-write, since it uses + the raw device for writing. \item Reformating DVD+RW 10-20 time can apparently make the medium unusable. Normally you should not have to format or reformat DVD+RW media. If it is necessary, current versions of growisofs will @@ -195,5 +197,6 @@ The following directives are added to the Director's Job resource. \begin{verbatim} growisofs -Z /dev/xxx=/dev/zero \end{verbatim} - where you replace xxx with your DVD device name. + where you replace xxx with your DVD device name. However, note that this + blanks the whole DVD, which takes quite a long time (16 minutes on mine). \end{itemize} diff --git a/docs/manual/general.tex b/docs/manual/general.tex index 9da8b9d7..83d2b8e1 100644 --- a/docs/manual/general.tex +++ b/docs/manual/general.tex @@ -80,7 +80,7 @@ Console. The third version is a wxWidgets GUI with an interactive file restore. It also has most of the capabilities of the shell console, allows command completion with tabulation, and gives you instant help about the command you are typing. For more details see the -\ilink{Bacula Console Design Document}{_ChapterStart23}. +\ilink{Bacula Console Design Document}{_ConsoleChapter}. \item \label{FDDef} {\bf Bacula File} services (or Client program) is the software program that diff --git a/docs/manual/gpl.tex b/docs/manual/gpl.tex index e9a1253d..84dcee59 100644 --- a/docs/manual/gpl.tex +++ b/docs/manual/gpl.tex @@ -72,7 +72,7 @@ of this license document, but changing it is not allowed. The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to -guarantee your freedom to share and change free software\verb{--{to make sure the +guarantee your freedom to share and change free software\verb:--:to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is @@ -389,7 +389,7 @@ for details. The hypothetical commands {\tt `show w'} and {\tt `show c'} should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than {\tt `show w'} and {\tt `show c'}; they -could even be mouse-clicks or menu items\verb{--{whatever suits your program. +could even be mouse-clicks or menu items\verb:--:whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a ``copyright disclaimer'' for the program, if diff --git a/docs/manual/install.tex b/docs/manual/install.tex index e7134a0f..d45a70de 100644 --- a/docs/manual/install.tex +++ b/docs/manual/install.tex @@ -201,7 +201,7 @@ continue on. If you get errors while linking in the Storage daemon directory (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 \verb{--{enable-static-tools} to the {\bf ./configure} +that you have not added {\bf \verb:--:enable-static-tools} to the {\bf ./configure} command. \item make install \item If you are new to Bacula, we {\bf strongly} recommend that you skip the @@ -304,7 +304,7 @@ the {\bf examples} directory. This script contains the statements that you 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 +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 some systems, @@ -347,7 +347,7 @@ LDFLAGS="-lssl -lcyrpto" \ On some systems such as Mandriva, readline tends to gobble up prompts, which makes it totally useless. If this happens to you, use the disable option, or if you are using version 1.33 and above try using {\bf -\verb{--{enable-conio} to use a built-in readline replacement. You will still need +\verb:--:enable-conio} to use a built-in readline replacement. You will still need either the termcap or the ncurses library, but it is unlikely that the {\bf conio} package will gobble up prompts. @@ -421,18 +421,18 @@ customize your installation. \begin{description} -\item [ \verb?--?sysbindir=\lt{}binary-path\gt{}] - \index[dir]{\verb{--{sysbindir } +\item [ \verb:--:sysbindir=\lt{}binary-path\gt{}] + \index[dir]{\verb:--:sysbindir } Defines where the Bacula binary (executable) files will be placed during a {\bf make install} command. -\item [ \verb?--?sysconfdir=\lt{}config-path\gt{}] - \index[dir]{\verb{--{sysconfdir } +\item [ \verb:--:sysconfdir=\lt{}config-path\gt{}] + \index[dir]{\verb:--:sysconfdir } Defines where the Bacula configuration files should be placed during a {\bf make install} command. -\item [ \verb?--?enable-smartalloc ] - \index[dir]{\verb{--{enable-smartalloc } +\item [ \verb:--:enable-smartalloc ] + \index[dir]{\verb:--: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. In this case, @@ -440,14 +440,14 @@ customize your installation. enabled as it helps detect memory leaks. This configuration parameter is used while building Bacula -\item [ \verb?--?enable-gnome ] - \index[dir]{\verb{--{enable-gnome } +\item [ \verb:--:enable-gnome ] + \index[dir]{\verb:--:enable-gnome } If you have GNOME installed on your computer 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/gnome-console} directory. -\item [ \verb?--?enable-wx-console ] - \index[console]{\verb{--{enable-wx-console } +\item [ \verb:--:enable-wx-console ] + \index[console]{\verb:--:enable-wx-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 @@ -455,56 +455,56 @@ customize your installation. install Gnome, as wxWidgets can work with GTK+, Motif or even X11 libraries. -\item [ \verb?--?enable-tray-monitor ] - \index[dir]{\verb{--{enable-tray-monitor } +\item [ \verb:--:enable-tray-monitor ] + \index[dir]{\verb:--: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 Bacula daemons, you must specify this option. Doing so will build everything in the {\bf src/tray-monitor} directory. -\item [ \verb?--?enable-static-tools] - \index[dir]{\verb{--{enable-static-tools } +\item [ \verb:--:enable-static-tools] + \index[dir]{\verb:--: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 problems linking in the {\bf src/stored} directory, make sure you have not enabled this option, - or explicitly disable static linking by adding {\bf \verb{--{disable-static-tools}. + or explicitly disable static linking by adding {\bf \verb:--:disable-static-tools}. -\item [ \verb?--?enable-static-fd] - \index[fd]{\verb{--{enable-static-fd } +\item [ \verb:--:enable-static-fd] + \index[fd]{\verb:--: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. This option is largely superseded by using {\bf make static-bacula-fd} from with - in the {\bf src/filed} directory. Also, the {\bf \verb{--{enable-client-only} option + in the {\bf src/filed} directory. Also, the {\bf \verb:--:enable-client-only} option described below is useful for just building a client so that all the other parts of the program are not compiled. -\item [ \verb?--?enable-static-sd] - \index[sd]{\verb{--{enable-static-sd } +\item [ \verb:--:enable-static-sd] + \index[sd]{\verb:--: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 Metal recovery. -\item [ \verb?--?enable-static-dir] - \index[dir]{\verb{--{enable-static-dir } +\item [ \verb:--:enable-static-dir] + \index[dir]{\verb:--: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 recovery. -\item [ \verb?--?enable-static-cons] - \index[dir]{\verb{--{enable-static-cons } +\item [ \verb:--:enable-static-cons] + \index[dir]{\verb:--: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 [ \verb?--?enable-client-only] - \index[console]{\verb{--{enable-client-only } +\item [ \verb:--:enable-client-only] + \index[console]{\verb:--: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 only install @@ -512,23 +512,23 @@ customize your installation. configuration without this option. This option greatly facilitates building a Client on a client only machine. -\item [ \verb?--?enable-largefile] - \index[console]{\verb{--{enable-largefile } +\item [ \verb:--:enable-largefile] + \index[console]{\verb:--: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}. + revert to 32 bit file addresses by using {\bf \verb:--:disable-largefile}. -\item [ \verb?--?with-sqlite=\lt{}sqlite-path\gt{}] - \index[fd]{\verb{--{with-sqlite } +\item [ \verb:--:with-sqlite=\lt{}sqlite-path\gt{}] + \index[fd]{\verb:--:with-sqlite } This enables use of the SQLite 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}{_ChapterStart33} chapter of this manual for more details. -\item [ \verb?--?with-mysql=\lt{}mysql-path\gt{}] - \index[fd]{\verb{--{with-mysql } +\item [ \verb:--:with-mysql=\lt{}mysql-path\gt{}] + \index[fd]{\verb:--: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. If this option is not present, the build will @@ -538,13 +538,13 @@ customize your installation. \ilink{Installing and Configuring MySQL}{_ChapterStart} chapter before proceeding with the configuration. -\item [ \verb?--?with-postgresql=\lt{}path\gt{}] - \index[fd]{\verb{--{with-postgresql } +\item [ \verb:--:with-postgresql=\lt{}path\gt{}] + \index[fd]{\verb:--:with-postgresql } This provides an explicit path to the PostgreSQL libraries if Bacula cannot find it by default. -\item [ \verb?--?with-python=\lt{}path\gt{}] - \index[fd]{\verb{--{with-python } +\item [ \verb:--:with-python=\lt{}path\gt{}] + \index[fd]{\verb:--: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, or 2.4. If it cannot @@ -553,29 +553,29 @@ customize your installation. \ilink{Python chapter}{_ChapterStart60} for the details of using Python scripting. -\item [ \verb?--?enable-conio] - \index[fd]{\verb{--{enable-conio } +\item [ \verb:--:enable-conio] + \index[fd]{\verb:--: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 [ \verb?--?with-readline=\lt{}readline-path\gt{}] - \index[fd]{\verb{--{with-readline } +\item [ \verb:--:with-readline=\lt{}readline-path\gt{}] + \index[fd]{\verb:--: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 - \verb{--{with-readline is specified, readline will be disabled. This option affects + \verb:--: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 [ \verb?--?enable-readline] - \index[fd]{\verb{--{enable-readline } +\item [ \verb:--:enable-readline] + \index[fd]{\verb:--: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 [ \verb?--?with-tcp-wrappers=\lt{}path\gt{}] - \index[fd]{\verb{--{with-tcp-wrappers } +\item [ \verb:--:with-tcp-wrappers=\lt{}path\gt{}] + \index[fd]{\verb:--:with-tcp-wrappers } This specifies that you want TCP wrappers (man hosts\_access(5)) compiled in. The path is optional since Bacula will normally find the libraries in the standard locations. This option affects the Bacula build. In specifying your @@ -590,8 +590,8 @@ customize your installation. \ilink{Configuring and Testing TCP Wrappers}{wrappers} section in the Security Chapter. -\item [ \verb?--?with-working-dir=\lt{}working-directory-path\gt{} ] - \index[dir]{\verb{--{with-working-dir } +\item [ \verb:--:with-working-dir=\lt{}working-directory-path\gt{} ] + \index[dir]{\verb:--: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 @@ -600,11 +600,11 @@ customize your installation. 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 [ \verb?--?with-base-port=\lt{}port=number\gt{}] - \index[dir]{\verb{--{with-base-port } +\item [ \verb:--:with-base-port=\lt{}port=number\gt{}] + \index[dir]{\verb:--: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 + \verb:--:with-baseport} option will automatically assign three ports beginning at the base port address specified. You may also change the port number in the resulting configuration files. However, you need to take care that the numbers correspond correctly in each of the three daemon configuration @@ -613,20 +613,20 @@ customize your installation. 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 [ \verb?--?with-dump-email=\lt{}email-address\gt{}] - \index[dir]{\verb{--{with-dump-email } +\item [ \verb:--:with-dump-email=\lt{}email-address\gt{}] + \index[dir]{\verb:--: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 [ \verb?--?with-pid-dir=\lt{}PATH\gt{} ] - \index[dir]{\verb{--{with-pid-dir } +\item [ \verb:--:with-pid-dir=\lt{}PATH\gt{} ] + \index[dir]{\verb:--: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 [ \verb?--?with-subsys-dir=\lt{}PATH\gt{}] - \index[dir]{\verb{--{with-subsys-dir } +\item [ \verb:--:with-subsys-dir=\lt{}PATH\gt{}] + \index[dir]{\verb:--: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} @@ -634,40 +634,40 @@ customize your installation. subsys directory is not created by the Bacula install, so you must be sure to create it before using Bacula. -\item [ \verb?--?with-dir-password=\lt{}Password\gt{}] - \index[dir]{\verb{--{with-dir-password } +\item [ \verb:--:with-dir-password=\lt{}Password\gt{}] + \index[dir]{\verb:--:with-dir-password } This option allows you to specify the password used to access the Directory (normally from the Console program). If it is not specified, configure will automatically create a random password. -\item [ \verb?--?with-fd-password=\lt{}Password\gt{} ] - \index[fd]{\verb{--{with-fd-password } +\item [ \verb:--:with-fd-password=\lt{}Password\gt{} ] + \index[fd]{\verb:--: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 [ \verb?--?with-sd-password=\lt{}Password\gt{} ] - \index[sd]{\verb{--{with-sd-password } +\item [ \verb:--:with-sd-password=\lt{}Password\gt{} ] + \index[sd]{\verb:--:with-sd-password } This option allows you to specify the password used to access the Directory (normally called from the Director). If it is not specified, configure will automatically create a random password. -\item [ \verb?--?with-dir-user=\lt{}User\gt{} ] - \index[dir]{\verb{--{with-dir-user } +\item [ \verb:--:with-dir-user=\lt{}User\gt{} ] + \index[dir]{\verb:--: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 specified on this option. -\item [ \verb?--?with-dir-group=\lt{}Group\gt{} ] - \index[dir]{\verb{--{with-dir-group } +\item [ \verb:--:with-dir-group=\lt{}Group\gt{} ] + \index[dir]{\verb:--: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 on this option. -\item [ \verb?--?with-sd-user=\lt{}User\gt{} ] - \index[sd]{\verb{--{with-sd-user } +\item [ \verb:--:with-sd-user=\lt{}User\gt{} ] + \index[sd]{\verb:--: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 @@ -675,23 +675,23 @@ customize your installation. that the Storage daemon has access to all the devices (tape drives, ...) that it needs. -\item [ \verb?--?with-sd-group=\lt{}Group\gt{} ] - \index[sd]{\verb{--{with-sd-group } +\item [ \verb:--:with-sd-group=\lt{}Group\gt{} ] + \index[sd]{\verb:--: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 [ \verb?--?with-fd-user=\lt{}User\gt{} ] - \index[fd]{\verb{--{with-fd-user } +\item [ \verb:--:with-fd-user=\lt{}User\gt{} ] + \index[fd]{\verb:--: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 [ \verb?--?with-fd-group=\lt{}Group\gt{} ] - \index[fd]{\verb{--{with-fd-group } +\item [ \verb:--:with-fd-group=\lt{}Group\gt{} ] + \index[fd]{\verb:--: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 @@ -699,7 +699,7 @@ customize your installation. \end{description} -Note, many other options are presented when you do a {\bf ./configure \verb{--{help}, +Note, many other options are presented when you do a {\bf ./configure \verb:--:help}, but they are not implemented. \subsection*{Recommended Options for most Systems} @@ -724,7 +724,7 @@ For most systems, we recommend starting with the following options: If you want to install Bacula in an installation directory rather than run it out of the build directory (as developers will do most of the time), you -should also include the \verb{--{sbindir and \verb{--{sysconfdir options with appropriate +should also include the \verb:--:sbindir and \verb:--:sysconfdir options with appropriate paths. Neither are necessary if you do not use ``make install'' as is the case for most development work. The install process will create the sbindir and sysconfdir if they do not exist, but it will not automatically create the @@ -902,7 +902,7 @@ port 9101 for the Director console, port 9102 for the File daemons, and port because they have been officially assigned to Bacula by IANA (Internet Assigned Numbers Authority). We strongly recommend that you use only these ports to prevent any conflicts with other programs. This is in fact the -default if you do not specify a {\bf \verb{--{with-baseport} option. +default if you do not specify a {\bf \verb:--:with-baseport} option. You may also want to put the following entries in your {\bf /etc/services} file as it will make viewing the connections made by Bacula easier to @@ -956,8 +956,8 @@ fresh copy of the source tree, or using {\bf make\ distclean} before the {\bf ./configure}. Since the File daemon does not access the Catalog database, you can remove the -{\bf \verb{--{with-mysql} or {\bf \verb{--{with-sqlite} options, then add {\bf -\verb{--{enable-client-only}. This will compile only the necessary libraries and the +{\bf \verb:--:with-mysql} or {\bf \verb:--:with-sqlite} options, then add {\bf +\verb:--:enable-client-only}. This will compile only the necessary libraries and the client programs and thus avoids the necessity of installing one or another of those database programs to build the File daemon. With the above option, you simply enter {\bf make} and just the client will be built. @@ -1119,7 +1119,7 @@ wx-console.conf \addcontentsline{toc}{subsection}{Installing Tray Monitor} The Tray Monitor is already installed if you used the {\bf -\verb{--{enable-tray-monitor} configure option and ran {\bf make install}. +\verb:--:enable-tray-monitor} configure option and ran {\bf make install}. As you don't run your graphical environment as root (if you do, you should change that bad habit), don't forget to allow your user to read {\bf diff --git a/docs/manual/lesser.tex b/docs/manual/lesser.tex index 792d8c96..f38ce9ad 100644 --- a/docs/manual/lesser.tex +++ b/docs/manual/lesser.tex @@ -90,11 +90,11 @@ of this license document, but changing it is not allowed. The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to -guarantee your freedom to share and change free software\verb{--{to make sure the +guarantee your freedom to share and change free software\verb:--:to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially -designated software packages\verb{--{typically libraries\verb{--{of the Free Software +designated software packages\verb:--:typically libraries\verb:--:of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, diff --git a/docs/manual/monitorconf.tex b/docs/manual/monitorconf.tex index 0b2084a1..0d12b23f 100644 --- a/docs/manual/monitorconf.tex +++ b/docs/manual/monitorconf.tex @@ -2,7 +2,7 @@ %% \section*{Monitor Configuration} -\label{_ChapterStart35} +\label{_MonitorChapter} \index[general]{Monitor Configuration } \index[general]{Configuration!Monitor } \addcontentsline{toc}{section}{Monitor Configuration} @@ -108,7 +108,7 @@ configuration file. This record is required. \index[fd]{DIRPort } Specify the port to use to connect to the Director. This value will most likely already be set to the value you specified on the {\bf -\verb{--{with-base-port} option of the {\bf ./configure} command. This port must be +\verb:--:with-base-port} option of the {\bf ./configure} command. This port must be identical to the {\bf DIRport} specified in the {\bf Director} resource of the \ilink{Director's configuration}{_ChapterStart40} file. The diff --git a/docs/manual/mysql.tex b/docs/manual/mysql.tex index 06d05b2a..fd9d6797 100644 --- a/docs/manual/mysql.tex +++ b/docs/manual/mysql.tex @@ -12,7 +12,7 @@ \index[general]{Phase I!Installing and Configuring MySQL -- } \addcontentsline{toc}{subsection}{Installing and Configuring MySQL -- Phase I} -If you use the ./configure \verb{--{with-mysql=mysql-directory statement for +If you use the ./configure \verb:--:with-mysql=mysql-directory statement for configuring {\bf Bacula}, you will need MySQL version 3.23.53 or later installed in the {\bf mysql-directory}. Bacula has been tested on MySQL version 4.1.12 and works providing @@ -21,7 +21,7 @@ with MySQL 3.23.x. If you are using one of the new modes such as ANSI/ISO compatibility, you may experience problems. If MySQL is installed in the standard system location, you need only enter -{\bf \verb{--{with-mysql} since the configure program will search all the +{\bf \verb:--:with-mysql} since the configure program will search all the standard locations. If you install MySQL in your home directory or some other non-standard directory, you will need to provide the full path to it. @@ -33,7 +33,7 @@ users on your system. Beginning with Bacula version 1.31, the thread safe version of the MySQL client library is used, and hence you must add the {\bf -\verb{--{enable-thread-safe-client} option to the {\bf ./configure} as shown below: +\verb:--:enable-thread-safe-client} option to the {\bf ./configure} as shown below: \begin{enumerate} \item Download MySQL source code from @@ -55,7 +55,7 @@ command such as: where you replace {\bf mysql-source-directory} with the directory name where you put the MySQL source code. -\item ./configure \verb{--{enable-thread-safe-client \verb{--{prefix=mysql-directory +\item ./configure \verb:--:enable-thread-safe-client \verb:--:prefix=mysql-directory where you replace {\bf mysql-directory} with the directory name where you want to install mysql. Normally for system wide use this is /usr/local/mysql. @@ -102,7 +102,7 @@ running MySQL, and you should have configured, built and installed {\bf Bacula}. If not, please complete these items before proceeding. Please note that the {\bf ./configure} used to build {\bf Bacula} will need to -include {\bf \verb{--{with-mysql=mysql-directory}, where {\bf mysql-directory} is the +include {\bf \verb:--:with-mysql=mysql-directory}, where {\bf mysql-directory} is the directory name that you specified on the ./configure command for configuring MySQL. This is needed so that Bacula can find the necessary include headers and library files for interfacing to MySQL. @@ -139,7 +139,7 @@ Now you will create the Bacula MySQL database and the tables that Bacula uses. This script creates the MySQL {\bf bacula} database. The databases you create as well as the access databases will be located in \lt{}install-dir\gt{}/var/ in a subdirectory with the name of the database, where \lt{}install-dir\gt{} -is the directory name that you specified on the {\bf \verb{--{prefix} option. This +is the directory name that you specified on the {\bf \verb:--:prefix} option. This can be important to know if you want to make a special backup of the Bacula database or to check its size. @@ -203,11 +203,11 @@ device name for your machine. After configuring Bacula with -./configure \verb{--{enable-thread-safe-client \verb{--{prefix=\lt{}mysql-directory\gt{} +./configure \verb:--:enable-thread-safe-client \verb:--:prefix=\lt{}mysql-directory\gt{} where \lt{}mysql-directory\gt{} is in my case {\bf /home/kern/mysql}, you may have to configure the loader so that it can find the MySQL shared libraries. If you have previously followed this procedure and later add the {\bf -\verb{--{enable-thread-safe-client} options, you will need to rerun the {\bf +\verb:--:enable-thread-safe-client} options, you will need to rerun the {\bf ldconfig} program shown below. If you put MySQL in a standard place such as {\bf /usr/lib} or {\bf /usr/local/lib} this will not be necessary, but in my case it is. The description that follows is Linux specific. For other @@ -250,4 +250,3 @@ Bacula otherwise you are likely to get bizarre failures. If you install from rpms and you upgrade MySQL, you must also rebuild Bacula. You can do so by rebuilding from the source rpm. To do so, you may need eo modify the bacula.spec file to account for the new MySQL version. - diff --git a/docs/manual/postgresql.tex b/docs/manual/postgresql.tex index e8af3fea..f31ea06d 100644 --- a/docs/manual/postgresql.tex +++ b/docs/manual/postgresql.tex @@ -13,14 +13,14 @@ \addcontentsline{toc}{subsection}{Installing and Configuring PostgreSQL -- Phase I} -If you use the {\bf ./configure \verb{--{with-postgresql=PostgreSQL-Directory} +If you use the {\bf ./configure \verb:--:with-postgresql=PostgreSQL-Directory} statement for configuring {\bf Bacula}, you will need PostgreSQL version 7.3 or later installed. NOTE! PostgreSQL versions earlier than 7.3 do not work with Bacula. If PostgreSQL is installed in the standard system location, you -need only enter {\bf \verb{--{with-postgresql} since the configure program will +need only enter {\bf \verb:--:with-postgresql} since the configure program will search all the standard locations. If you install PostgreSQL in your home directory or some other non-standard directory, you will need to provide the -full path with the {\bf \verb{--{with-postgresql} option. +full path with the {\bf \verb:--:with-postgresql} option. Installing and configuring PostgreSQL is not difficult but can be confusing the first time. If you prefer, you may want to use a package provided by your @@ -54,7 +54,7 @@ a running PostgreSQL, and you should have configured, built and installed {\bf Bacula}. If not, please complete these items before proceeding. Please note that the {\bf ./configure} used to build {\bf Bacula} will need to -include {\bf \verb{--{with-postgresql=PostgreSQL-directory}, where {\bf +include {\bf \verb:--:with-postgresql=PostgreSQL-directory}, where {\bf PostgreSQL-directory} is the directory name that you specified on the ./configure command for configuring PostgreSQL (if you didn't specify a directory or PostgreSQL is installed in a default location, you do not need to diff --git a/docs/manual/progs.tex b/docs/manual/progs.tex index 8394705e..5fc182bb 100644 --- a/docs/manual/progs.tex +++ b/docs/manual/progs.tex @@ -431,7 +431,8 @@ only if one or more Volumes have been pruned or purged from your catalog so that the records on the Volume are no longer in the catalog. With some care, it can also be used to synchronize your existing catalog with -a Volume. Since {\bf bscan} modifies your catalog, we strongly recommend that +a Volume. Although we have never seen a case of bscan damaging a +catalog, since bscan modifies your catalog, we recommend that you do a simple ASCII backup of your database before running {\bf bscan} just to be sure. See \ilink{Compacting Your Database}{CompactingMySQL}. @@ -472,15 +473,17 @@ you have provided security on your database, you may need to supply either the database name ({\bf -b} option), the user name ({\bf -u} option), and/or the password ({\bf -p}) options. -As an example, let's suppose that you did a backup to Volume ``Vol001'' and -that sometime later all records of that Volume were pruned or purged from the -database. By using {\bf bscan} you can recreate the catalog entries for that -Volume and then use the {\bf restore} command in the Console to restore +As an example, let's suppose that you did a backup to Volumes ``Vol001'' +and ``Vol002'', then sometime later all records of one or both those +Volumes +were pruned or purged from the +database. By using {\bf bscan} you can recreate the catalog entries for +those Volumes and then use the {\bf restore} command in the Console to restore whatever you want. A command something like: \footnotesize \begin{verbatim} -bscan -c bacula-sd.conf -v -V Vol001 /dev/nst0 +bscan -c bacula-sd.conf -v -V Vol001\|Vol002 /dev/nst0 \end{verbatim} \normalsize @@ -490,7 +493,7 @@ daemon's conf file, the Volume name, and your tape (or disk) device name. This command must read the entire tape, so if it has a lot of data, it may take a long time, and thus you might want to immediately use the command listed below. Note, if you are writing to a disk file, replace the device name with -the path to the directory that contains the Volume. This must correspond to +the path to the directory that contains the Volumes. This must correspond to the Archive Device in the conf file. Then to actually write or store the records in the catalog, add the {\bf -s} @@ -498,17 +501,17 @@ option as follows: \footnotesize \begin{verbatim} - bscan -s -m -c bacula-sd.conf -v -V Vol001 /dev/nst0 + bscan -s -m -c bacula-sd.conf -v -V Vol001\|Vol002 /dev/nst0 \end{verbatim} \normalsize When writing to the database, if bscan finds existing records, it will generally either update them if something is wrong or leave them alone. Thus -if the Volume you are scanning is all or partially in the catalog already, no +if the Volumes you are scanning are all or partially in the catalog already, no harm will be done to that existing data. Any missing data will simply be added. -If you have multiple tapes, you can scan them with: +If you have multiple tapes, you should scan them with: \footnotesize \begin{verbatim} @@ -516,9 +519,16 @@ If you have multiple tapes, you can scan them with: \end{verbatim} \normalsize -You should, where ever possible try to specify the tapes in the order they are -written. However, bscan can handle scanning tapes that are not sequential. Any -incomplete records at the end of the tape will simply be ignored in that case. +You should, always try to specify the tapes in the order they are written. +However, bscan can handle scanning tapes that are not sequential. Any +incomplete records at the end of the tape will simply be ignored in that +case. If you are simply reparing an existing catalog, this may be OK, but +if you are creating a new catalog from scratch, it will leave your database +in an incorrect state. If you do not specify all necessary Volumes on a +single bscan command, bscan will not be able to correctly restore the +records that span two volumes. In other words, it is much better to +specify two or three volumes on a single bscan command rather than run +bscan two or three times, each with a single volume. Note, the restoration process using bscan is not identical to the original @@ -1141,68 +1151,3 @@ internal file type, or the link (if any). Debug levels of 10 or greater cause the filename and the path to be separated using the same algorithm that is used when putting filenames into the Catalog database. -\subsection*{bimagemgr} -\label{bimagemgr} -\index[general]{Bimagemgr } -\addcontentsline{toc}{subsection}{bimagemgr} - -{\bf bimagemgr} is a utility for those who backup to disk volumes in order to -commit them to CDR disk, rather than tapes. It is a web based interface -written in perl, used to monitor when a volume file needs to be burned to -disk. It requires: - -\begin{itemize} -\item A web server running on the bacula server -\item A CD recorder installed and configured on the bacula server -\item The cdrtools package installed on the bacula server. -\item perl, perl-DBI module, and either DBD-MySQL or DBD-PostgreSQL modules - \end{itemize} - -SQLite databases and DVD burning are not supported by {\bf bimagemgr} at this -time, but both are planned for future releases. - -\subsubsection*{bimagemgr installation} -\index[general]{bimagemgr!Installation } -\index[general]{bimagemgr Installation } -\addcontentsline{toc}{subsubsection}{bimagemgr Installation} - -Please see the README file in the bimagemgr directory of the distribution for -instructions. - -\subsubsection*{bimagemgr usage} -\index[general]{bimagemgr!Usage } -\index[general]{bimagemgr Usage } -\addcontentsline{toc}{subsubsection}{bimagemgr Usage} - -Calling the program in your web browser, e.g. {\tt -http://localhost/cgi-bin/bimagemgr.pl} will produce a display as shown below -in Figure 1. The program will query the bacula database and display all volume -files with the date last written and the date last burned to disk. If a volume -needs to be burned (last written is newer than last burn date) a ``Burn'' -button will be displayed in the rightmost column. - -\addcontentsline{lof}{figure}{Bacula CD Image Manager} -\includegraphics{./bimagemgr1.eps} \\Figure 1 - -Place a blank CDR disk in your recorder and click the ``Burn'' button. This will -cause a pop up window as shown in Figure 2 to display the burn progress. - -\addcontentsline{lof}{figure}{Bacula CD Image Burn Progress Window} -\includegraphics{./bimagemgr2.eps} \\Figure 2 - -When the burn finishes the pop up window will display the results of cdrecord -as shown in Figure 3. Close the pop up window and refresh the main window. The -last burn date will be updated and the ``Burn'' button for that volume will -disappear. Should you have a failed burn you can reset the last burn date of -that volume by clicking its ``Reset'' link. - -\addcontentsline{lof}{figure}{Bacula CD Image Burn Results} -\includegraphics{./bimagemgr3.eps} \\Figure 3 - -In the bottom row of the main display window are two more buttons labeled -``Burn Catalog'' and ``Blank CDRW''. ``Burn Catalog'' will place a copy of -your bacula catalog on a disk. If you use CDRW disks rather than CDR then -``Blank CDRW'' allows you to erase the disk before re-burning it. Regularly -committing your backup volume files and your catalog to disk with {\bf -bimagemgr} ensures that you can rebuild easily in the event of some disaster -on the bacula server itself. diff --git a/docs/manual/python.tex b/docs/manual/python.tex index 105c1f16..0237dd5a 100644 --- a/docs/manual/python.tex +++ b/docs/manual/python.tex @@ -23,7 +23,7 @@ you want, based on the current state of Bacula. \addcontentsline{toc}{subsection}{Python Configuration} Python must be enabled during the configuration process by adding -a \verb?--?with-python, and possibly specifying an alternate +a \verb:--:with-python, and possibly specifying an alternate directory if your Python is not installed in a standard system location. If you are using RPMs you will need the python-devel package installed. @@ -33,9 +33,11 @@ runs in Bacula's address space, so even though it is an interpreted language, it is very efficient. When the Director starts, it looks to see if you have a {\bf -Scripts Directory} defined, if so, it looks in that directory for -a file named {\bf DirStartUp}. If it is found, Bacula will pass this -file to Python for execution. +Scripts Directory} Directive defined, if so, it looks in that directory for +a file named {\bf DirStartUp.py}. If it is found, Bacula will pass this +file to Python for execution. The {\bf Scripts Directory} is a new +directive that you add to the Director resource of your bacula-dir.conf +file. \subsection*{Bacula Events} \index[general]{Bacula Events} @@ -62,7 +64,7 @@ There are four Python objects that you will need to work with: \item [The Bacula Object] The Bacula object is created by the Bacula daemon (the Director in the present case) when the daemon starts. It is available to - the Python startup script, {\bf DirStartup}, by importing the + the Python startup script, {\bf DirStartup.py}, by importing the Bacula definitions with {\bf import bacula}. The methods available with this object are described below. @@ -187,18 +189,22 @@ The following are the methods (subroutines) provided within the directory by the {\bf job} object. \begin{description} \item [set_events] The set_events takes a single -argument, which is the instantation of the Job Events class -that contains the methods that you want called. The method -names that will be called must correspond to the Bacula -defined events. You may define additional methods but Bacula -will not use them. + argument, which is the instantation of the Job Events class + that contains the methods that you want called. The method + names that will be called must correspond to the Bacula + defined events. You may define additional methods but Bacula + will not use them. \item [run] The run method takes a single string -argument, which is the run command (same as in the Console) -that you want to submit to start a new Job. The value -returned by the run method is the JobId of the job that -started, or -1 if there was an error. + argument, which is the run command (same as in the Console) + that you want to submit to start a new Job. The value + returned by the run method is the JobId of the job that + started, or -1 if there was an error. \item [write] The write method is used to be able to send -print output to the Job Report. This will be described later. + print output to the Job Report. This will be described later. +\item [DoesVolumeExist] The DoesVolumeExist takes a single + string argument, which is the Volume name, and returns + 1 if the volume exists in the Catalog and 0 if the volume + does not exist. \end{description} The following attributes are read/write within the Director @@ -230,8 +236,10 @@ for the {\bf job} object. \item [WorkingDir] \item [Version] tuple consisting of (Version, Build-date) \item [CatalogRes] tuple consisting of (DBName, Address, User, - Password, Socket, Port) taken from the Catalog resource for - the Job. + Password, Socket, Port, Database Vendor) taken from the Catalog resource + for the Job with the exception of Database Vendor, which is + one of the following: MySQL, PostgreSQL, SQLite, Internal, + depending on what database you configured. \end{description} The following write-only attributes are available within the @@ -243,6 +251,27 @@ Director: NewVolume event. \end{description} +\subsection*{Python Console Command} +\index[general]{Python Console Command} +\index[general]{Console Command!Python} +\addcontentsline{toc}{subsection}{Python Console Command} + +There is a new Console command named {\bf python}. It takes +a single argument {\bf restart}. Example: +\begin{verbatim} + python restart +\end{verbatim} + +This command restarts the Python interpreter in the Director. +This can be useful when you are modifying the DirStartUp script, +because normally Python will cache it, and thus the +script will be read one time. + + +\subsection*{Python Example} +\index[general]{Python Example} +\index[general]{Example!Python} +\addcontentsline{toc}{subsection}{Python Example} An example script for the Director startup file is provided in {\bf examples/python/DirStartup.py} as follows: diff --git a/docs/manual/quickstart.tex b/docs/manual/quickstart.tex index 2e751c53..b61648a2 100644 --- a/docs/manual/quickstart.tex +++ b/docs/manual/quickstart.tex @@ -77,9 +77,9 @@ Bacula, you must create valid configuration files for the Director, the File daemon, the Storage daemon, and the Console programs. If you have followed our recommendations, default configuration files as well as the daemon binaries will be located in your installation directory. In any case, the binaries are -found in the directory you specified on the {\bf \verb{--{sbindir} option to the {\bf +found in the directory you specified on the {\bf \verb:--:sbindir} option to the {\bf ./configure} command, and the configuration files are found in the directory -you specified on the {\bf \verb{--{sysconfdir} option. +you specified on the {\bf \verb:--:sysconfdir} option. When initially setting up Bacula you will need to invest a bit of time in modifying the default configuration files to suit your environment. This may @@ -98,22 +98,22 @@ The Console program is used by the administrator to interact with the Director and to manually start/stop Jobs or to obtain Job status information. The Console configuration file is found in the directory specified on the {\bf -\verb{--{sysconfdir} option that you specified on the {\bf ./configure} command and +\verb:--:sysconfdir} option that you specified on the {\bf ./configure} command and by default is named {\bf console.conf}. -If you choose to build the GNOME console with the {\bf \verb{--{enable-gnome} option, +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 gnome-console.conf}. The same applies to the wxWidgets console, which is build with the {\bf -\verb{--{enable-wx-console} option, and the name of the default configuration file +\verb:--:enable-wx-console} option, and the name of the default configuration file is, in this case, {\bf wx-console.conf}. Normally, for first time users, no change is needed to these files. Reasonable defaults are set. \subsubsection*{ -\ilink{Configuring the Monitor Program}{_ChapterStart35}} +\ilink{Configuring the Monitor Program}{_MonitorChapter}} \index[general]{Program!Configuring the Monitor } \index[general]{Configuring the Monitor Program } \addcontentsline{toc}{subsubsection}{Configuring the Monitor Program} @@ -132,7 +132,7 @@ status for each of the daemons. The image shows the status for the Storage daemon (MainSD) that is currently selected. The Monitor configuration file is found in the directory specified on the {\bf -\verb{--{sysconfdir} option that you specified on the {\bf ./configure} command and +\verb:--:sysconfdir} option that you specified on the {\bf ./configure} command and by default is named {\bf tray-monitor.conf}. Normally, for first time users, you just need to change the permission of this file to allow non-root users to run the Monitor, as this application must run as the same user as the @@ -151,7 +151,7 @@ request of the Director, finds the files to be backed up and sends them (their data) to the Storage daemon. The File daemon configuration file is found in the directory specified on the -{\bf \verb{--{sysconfdir} option that you specified on the {\bf ./configure} command. +{\bf \verb:--:sysconfdir} option that you specified on the {\bf ./configure} command. By default, the File daemon's configuration file is named {\bf bacula-fd.conf}. Normally, for first time users, no change is needed to this file. Reasonable defaults are set. However, if you are going to back up more @@ -169,7 +169,7 @@ The Director is the central control program for all the other daemons. It schedules and monitors all jobs to be backed up. The Director configuration file is found in the directory specified on the -{\bf \verb{--{sysconfdir} option that you specified on the {\bf ./configure} command. +{\bf \verb:--:sysconfdir} option that you specified on the {\bf ./configure} command. Normally the Director's configuration file is named {\bf bacula-dir.conf}. In general, the only change you must make is modify the FileSet resource so @@ -204,7 +204,7 @@ data from a File daemon and placing it on Storage media, or in the case of a restore request, to find the data and send it to the File daemon. The Storage daemon's configuration file is found in the directory specified on -the {\bf \verb{--{sysconfdir} option that you specified on the {\bf ./configure} +the {\bf \verb:--:sysconfdir} option that you specified on the {\bf ./configure} command. By default, the Storage daemon's file is named {\bf bacula-sd.conf}. Edit this file to contain the correct Archive device names for any tape devices that you have. If the configuration process properly detected your diff --git a/docs/manual/security.tex b/docs/manual/security.tex index 65752797..b829db7f 100644 --- a/docs/manual/security.tex +++ b/docs/manual/security.tex @@ -54,7 +54,7 @@ built-in. Bacula} TCP Wrappers are implemented if you turn them on when configuring ({\bf -./configure \verb{--{with-libwrap}). With this code enabled, you may control who may +./configure \verb:--:with-libwrap}). With this code enabled, you may control who may access your daemons. This control is done by modifying the file: {\bf /etc/hosts.allow}. The program name that {\bf Bacula} uses when applying these access restrictions is the name you specify in the daemon configuration file. diff --git a/docs/manual/sqlite.tex b/docs/manual/sqlite.tex index 3982b77e..d94a5683 100644 --- a/docs/manual/sqlite.tex +++ b/docs/manual/sqlite.tex @@ -13,7 +13,7 @@ \addcontentsline{toc}{subsection}{Installing and Configuring SQLite -- Phase I} -If you use the {\bf ./configure \verb{--{with-sqlite} statement for configuring {\bf +If you use the {\bf ./configure \verb:--:with-sqlite} statement for configuring {\bf Bacula}, you will need SQLite version 2.8.16 or later installed. Our standard location (for the moment) for SQLite is in the dependency package {\bf depkgs/sqlite-2.8.16}. Please note that the version will be updated as new @@ -44,7 +44,7 @@ At this point, you should return to completing the installation of {\bf Bacula}. Please note that the {\bf ./configure} used to build {\bf Bacula} will need to -include {\bf \verb{--{with-sqlite}. +include {\bf \verb:--:with-sqlite}. \subsection*{Installing and Configuring SQLite -- Phase II} \label{phase2} diff --git a/docs/manual/tips.tex b/docs/manual/tips.tex index 2de0d06f..6c165016 100644 --- a/docs/manual/tips.tex +++ b/docs/manual/tips.tex @@ -597,7 +597,7 @@ Volume. You should protect your Catalog database. If you are using SQLite, make sure that the working directory is readable only by root (or your Bacula userid), -and ensure that {\bf bacula.db} has permissions {\bf -rw-r\verb{--{r\verb{--{} (i.e. 640) or +and ensure that {\bf bacula.db} has permissions {\bf -rw-r\verb:--:r\verb:--:} (i.e. 640) or more strict. If you are using MySQL or PostgreSQL, please note that the Bacula setup procedure leaves the database open to anyone. At a minimum, you should assign the user {\bf bacula} a userid and add it to your Director's diff --git a/docs/manual/tutorial.tex b/docs/manual/tutorial.tex index 041e17f6..f52cc2a6 100644 --- a/docs/manual/tutorial.tex +++ b/docs/manual/tutorial.tex @@ -69,7 +69,7 @@ you will not want to use {\bf startmysql} or {\bf stopmysql}. If you are running this in production, you will probably want to find some way to automatically start MySQL or PostgreSQL after each system reboot. -If you are using SQLite (i.e. you specified the {\bf \verb{--{with-sqlite=xxx} option +If you are using SQLite (i.e. you specified the {\bf \verb:--:with-sqlite=xxx} option on the {\bf ./configure} command, you need do nothing. SQLite is automatically started by {\bf Bacula}. @@ -127,7 +127,7 @@ from the top level directory, simply enter: Note, on 1.32 versions and lower, the command name is {\bf console} rather than bconsole. Alternatively to running the command line console, if you have -GNOME installed and used the {\bf \verb{--{enable-gnome} on the configure command, +GNOME installed and used the {\bf \verb:--:enable-gnome} on the configure command, you may use the GNOME Console program: ./gnome-console @@ -198,7 +198,7 @@ Type {\bf help} to see a list of available commands: \normalsize Details of the console program's commands are explained in the -\ilink{Console Chapter}{_ChapterStart23} of this manual. +\ilink{Console Chapter}{_ConsoleChapter} of this manual. \subsection*{Running a Job} \label{Running} @@ -209,7 +209,7 @@ Details of the console program's commands are explained in the At this point, we assume you have done the following: \begin{itemize} -\item Configured Bacula with {\bf ./configure \verb{--{your-options} +\item Configured Bacula with {\bf ./configure \verb:--:your-options} \item Built Bacula using {\bf make} \item Installed Bacula using {\bf make install} \item Have created your database with, for example, {\bf @@ -1347,4 +1347,4 @@ attributes used when creating a Volume). It is also possible to add media to the pool without physically labeling the Volumes. This can be done with the {\bf add} command. For more information, please see the -\ilink{Console Chapter}{_ChapterStart23} of this manual. +\ilink{Console Chapter}{_ConsoleChapter} of this manual. diff --git a/docs/manual/win32.tex b/docs/manual/win32.tex index 431bbce0..cfeb2317 100644 --- a/docs/manual/win32.tex +++ b/docs/manual/win32.tex @@ -589,7 +589,7 @@ In order to avoid option clashes between the options necessary for {\bf Bacula} to run on Windows and the standard Bacula options, all Windows specific options are signaled with a forward slash character (/), while as usual, the standard Bacula options are signaled with a minus (-), or a minus -minus (\verb{--{). All the standard Bacula options can be used on the Windows +minus (\verb:--:). All the standard Bacula options can be used on the Windows version. In addition, the following Windows only options are implemented: \begin{description} -- 2.39.5