From db80ca73465c538116f6a440c0a0f6e20ed506d1 Mon Sep 17 00:00:00 2001 From: Kern Sibbald Date: Fri, 14 Apr 2006 17:08:57 +0000 Subject: [PATCH] Update --- docs/developers/version.tex | 2 +- docs/manual-de/version.tex | 2 +- docs/manual/autochangers.tex | 2 +- docs/manual/catmaintenance.tex | 14 +-- docs/manual/console.tex | 92 +++++++-------- docs/manual/fileset.tex | 189 ++++++++++++++++++++---------- docs/manual/progs.tex | 74 +++++++++--- docs/manual/recycling.tex | 20 ++-- docs/manual/supportedchangers.tex | 11 +- docs/manual/tapetesting.tex | 91 ++++++++------ docs/manual/tls.tex | 4 + docs/manual/version.tex | 2 +- docs/manual/win32.tex | 19 +-- 13 files changed, 324 insertions(+), 198 deletions(-) diff --git a/docs/developers/version.tex b/docs/developers/version.tex index e7bad7d1..374c904d 100644 --- a/docs/developers/version.tex +++ b/docs/developers/version.tex @@ -1 +1 @@ -1.38.7 (06 April 2006) +1.38.8 (14 April 2006) diff --git a/docs/manual-de/version.tex b/docs/manual-de/version.tex index e7bad7d1..374c904d 100644 --- a/docs/manual-de/version.tex +++ b/docs/manual-de/version.tex @@ -1 +1 @@ -1.38.7 (06 April 2006) +1.38.8 (14 April 2006) diff --git a/docs/manual/autochangers.tex b/docs/manual/autochangers.tex index 51d29c1b..fd239f17 100644 --- a/docs/manual/autochangers.tex +++ b/docs/manual/autochangers.tex @@ -13,7 +13,7 @@ \addcontentsline{toc}{subsection}{Autochangers -- General} Bacula provides autochanger support for reading and writing tapes. In -order to work with an autochanger, Bacula requires three things, each of +order to work with an autochanger, Bacula requires a number of things, each of which is explained in more detail after this list: \begin{itemize} diff --git a/docs/manual/catmaintenance.tex b/docs/manual/catmaintenance.tex index 77448757..f336d86b 100644 --- a/docs/manual/catmaintenance.tex +++ b/docs/manual/catmaintenance.tex @@ -385,14 +385,12 @@ version. You may begin using Bacula with SQLite then later find that you want to switch to MySQL for any of a number of reasons: SQLite tends to use more disk than -MySQL, SQLite apparently does not handle database sizes greater than 2GBytes, -... Several users have done so by first producing an ASCII "dump" of the -SQLite database, then creating the MySQL tables with the {\bf -create\_mysql\_tables} script that comes with Bacula, and finally feeding the -SQLite dump into MySQL using the {\bf -f} command line option to continue past -the errors that are generated by the DDL statements that SQLite's dump -creates. Of course, you could edit the dump and remove the offending -statements. Otherwise, MySQL accepts the SQL produced by SQLite. +MySQL; when the database is corrupted it is often more catastrophic than +with MySQL or PostgreSQL. +Several users have succeeded in converting from SQLite to MySQL by +exporting the MySQL data and then processing it with Perl scripts +prior to putting it into MySQL. This is, however, not a simple +process. \label{BackingUpBacula} \subsection*{Backing Up Your Bacula Database} diff --git a/docs/manual/console.tex b/docs/manual/console.tex index 2c98c45f..a39b8a8b 100644 --- a/docs/manual/console.tex +++ b/docs/manual/console.tex @@ -3,10 +3,10 @@ \section*{Bacula Console} \label{_ConsoleChapter} -\index[general]{Console!Bacula } -\index[general]{Bacula Console } -\index[console]{Console!Bacula } -\index[console]{Bacula Console } +\index[general]{Console!Bacula} +\index[general]{Bacula Console} +\index[console]{Console!Bacula} +\index[console]{Bacula Console} \addcontentsline{toc}{section}{Bacula Console} \subsection*{General} @@ -53,10 +53,10 @@ information on configuration of the Console program, please see the this document. \subsection*{Running the Console Program} -\index[general]{Running the Console Program } -\index[general]{Program!Running the Console } -\index[console]{Running the Console Program } -\index[console]{Program!Running the Console } +\index[general]{Running the Console Program} +\index[general]{Program!Running the Console} +\index[console]{Running the Console Program} +\index[console]{Program!Running the Console} \addcontentsline{toc}{subsection}{Running the Console Program} After launching the Console program (bconsole), it will prompt you for the @@ -100,10 +100,10 @@ show pools will display all the Pool resource records. \subsection*{Stopping the Console Program} -\index[general]{Program!Stopping the Console } -\index[general]{Stopping the Console Program } -\index[console]{Program!Stopping the Console } -\index[console]{Stopping the Console Program } +\index[general]{Program!Stopping the Console} +\index[general]{Stopping the Console Program} +\index[console]{Program!Stopping the Console} +\index[console]{Stopping the Console Program} \addcontentsline{toc}{subsection}{Stopping the Console Program} Normally, you simply enter {\bf quit} or {\bf exit} and the Console program @@ -123,10 +123,10 @@ will most likely be able to cancel at the next prompt. \label{keywords} \subsection*{Alphabetic List of Console Keywords} -\index[general]{Keywords!Alphabetic List of Console } -\index[general]{Alphabetic List of Console Keywords } -\index[console]{Keywords!Alphabetic List of Console } -\index[console]{Alphabetic List of Console Keywords } +\index[general]{Keywords!Alphabetic List of Console} +\index[general]{Alphabetic List of Console Keywords} +\index[console]{Keywords!Alphabetic List of Console} +\index[console]{Alphabetic List of Console Keywords} \addcontentsline{toc}{subsection}{Alphabetic List of Console Keywords} Unless otherwise specified, each of the following keywords takes an argument, which is specified after the keyword following @@ -242,10 +242,10 @@ order ... \label{list} \subsection*{Alphabetic List of Console Commands} -\index[general]{Commands!Alphabetic List of Console } -\index[general]{Alphabetic List of Console Commands } -\index[console]{Commands!Alphabetic List of Console } -\index[console]{Alphabetic List of Console Commands } +\index[general]{Commands!Alphabetic List of Console} +\index[general]{Alphabetic List of Console Commands} +\index[console]{Commands!Alphabetic List of Console} +\index[console]{Alphabetic List of Console Commands} \addcontentsline{toc}{subsection}{Alphabetic List of Console Commands} The following commands are currently implemented: @@ -319,7 +319,7 @@ command below for the list of legal characters in a Volume name. database immediately, simply use this command to force it to be created. \item [{ delete [volume=\lt{}vol-name\gt{} pool=\lt{}pool-name\gt{} job - jobid=\lt{}id\gt{}] }] + jobid=\lt{}id\gt{}]}] \index[console]{delete} The delete command is used to delete a Volume, Pool or Job record from the Catalog as well as all associated catalog Volume records that were @@ -501,7 +501,7 @@ the catalog. For example with: Pool { Name ... Cleaning Prefix = "CLN" - } + } \end{verbatim} \normalsize @@ -1171,7 +1171,7 @@ wish to change. The following Volume parameters may be changed: \normalsize \item [use] - \index[console]{use } + \index[console]{use} This command allows you to specify which Catalog database to use. Normally, you will be using only one database so this will be done automatically. In the case that you are using more than one database, you can use this command @@ -1181,7 +1181,7 @@ use \lt{}database-name\gt{} \item [var] \label{var} - \index[console]{var name } + \index[console]{var name} This command takes a string or quoted string and does variable expansion on it the same way variable expansion is done on the {\bf LabelFormat} string. Thus, for the most part, you can test your LabelFormat strings. The @@ -1191,11 +1191,11 @@ use \lt{}database-name\gt{} good idea of what is going to happen in the real case. \item [version] - \index[console]{version } + \index[console]{version} The command prints the Director's version. \item [quit] - \index[console]{quit } + \index[console]{quit} This command terminates the console program. The console program sends the {\bf quit} request to the Director and waits for acknowledgment. If the Director is busy doing a previous command for you that has not terminated, it @@ -1203,7 +1203,7 @@ may take some time. You may quit immediately by issuing the {\bf .quit} command (i.e. quit preceded by a period). \item [query] - \index[console]{query } + \index[console]{query} This command reads a predefined SQL query from the query file (the name and location of the query file is defined with the QueryFile resource record in the Director's configuration file). You are prompted to select a query from @@ -1230,11 +1230,11 @@ Choose a query (1-9): \normalsize \item [exit] - \index[console]{exit } + \index[console]{exit} This command terminates the console program. \item [wait] - \index[console]{wait } + \index[console]{wait} The wait command causes the Director to pause until there are no jobs running. This command is useful in a batch situation such as regression testing where you wish to start a job and wait until that job completes @@ -1244,8 +1244,8 @@ before continuing. \label{dotcommands} \subsection*{Special dot Commands} -\index[general]{Commands!Special dot } -\index[general]{Special dot Commands } +\index[general]{Commands!Special dot} +\index[general]{Special dot Commands} \addcontentsline{toc}{subsection}{Special dot Commands} There is a list of commands that are prefixed with a period (.). These @@ -1279,8 +1279,8 @@ is the list of dot commands: \label{atcommands} \subsection*{Special At (@) Commands} -\index[general]{Commands!Special At @ } -\index[general]{Special At (@) Commands } +\index[general]{Commands!Special At @} +\index[general]{Special At (@) Commands} \addcontentsline{toc}{subsection}{Special At (@) Commands} Normally, all commands entered to the Console program are immediately @@ -1293,11 +1293,11 @@ the tty console program and not in the GNOME Console. These commands are: \begin{description} \item [@input \lt{}filename\gt{}] - \index[console]{@input \lt{}filename\gt{} } + \index[console]{@input \lt{}filename\gt{}} Read and execute the commands contained in the file specified. \item [@output \lt{}filename\gt{} w/a] - \index[console]{@output \lt{}filename\gt{} w/a } + \index[console]{@output \lt{}filename\gt{} w/a} Send all following output to the filename specified either overwriting the file (w) or appending to the file (a). To redirect the output to the terminal, simply enter {\bf @output} without a filename specification. @@ -1314,40 +1314,40 @@ regression test might be: \normalsize \item [@tee \lt{}filename\gt{} w/a] - \index[console]{@tee \lt{}filename\gt{} w/a } + \index[console]{@tee \lt{}filename\gt{} w/a} Send all subsequent output to both the specified file and the terminal. It is turned off by specifying {\bf @tee} or {\bf @output} without a filename. \item [@sleep \lt{}seconds\gt{}] - \index[console]{@sleep \lt{}seconds\gt{} } + \index[console]{@sleep \lt{}seconds\gt{}} Sleep the specified number of seconds. \item [@time] - \index[console]{@time } + \index[console]{@time} Print the current time and date. \item [@version] - \index[console]{@version } + \index[console]{@version} Print the console's version. \item [@quit] - \index[console]{@quit } + \index[console]{@quit} quit \item [@exit] - \index[console]{@exit } + \index[console]{@exit} quit \item [@\# anything] - \index[console]{anything } + \index[console]{anything} Comment \end{description} \label{scripting} \subsection*{Running the Console Program from a Shell Script} -\index[general]{Script!Running the Console Program from a Shell } -\index[general]{Running the Console Program from a Shell Script } +\index[general]{Script!Running the Console Program from a Shell} +\index[general]{Running the Console Program from a Shell Script} \addcontentsline{toc}{subsection}{Running the Console Program from a Shell Script} @@ -1421,8 +1421,8 @@ restorestat=$? \normalsize \subsection*{Adding Volumes to a Pool} -\index[general]{Adding Volumes to a Pool } -\index[general]{Pool!Adding Volumes to a } +\index[general]{Adding Volumes to a Pool} +\index[general]{Pool!Adding Volumes to a} \addcontentsline{toc}{subsection}{Adding Volumes to a Pool} If you have used the {\bf label} command to label a Volume, it will be diff --git a/docs/manual/fileset.tex b/docs/manual/fileset.tex index f93d8849..4906f9cc 100644 --- a/docs/manual/fileset.tex +++ b/docs/manual/fileset.tex @@ -39,12 +39,12 @@ defined for each Backup job. the next backup will be forced to a Full so that Bacula can guarantee that any additions or deletions are properly backed up. - If this directive is set to {\bf yes}, any changes you make to the FileSet - Include or Exclude lists will be ignored and not cause Bacula to immediately - perform a Full backup. The default is {\bf no}, in which case, if you change - the Include or Exclude, Bacula will force a Full backup to ensure that - everything is properly backed up. It is not recommended to set this directive - to yes. + If this directive is set to {\bf yes}, any changes you make to the + FileSet Include or Exclude lists will be ignored and not cause Bacula to + immediately perform a Full backup. The default is {\bf no}, in which + case, if you change the Include or Exclude, Bacula will force a Full + backup to ensure that everything is properly backed up. It is not + recommended to set this directive to yes. \item [Enable VSS = \lt{}yes|no\gt{}] \index[dir]{Enable VSS} @@ -371,26 +371,28 @@ Change: 2005-11-06 12:36:48.000000000 +0100 \item [portable=yes|no] \index[dir]{portable} \index[dir]{Directive!portable} - If set to {\bf yes} (default is {\bf no}), the Bacula File daemon will backup - Win32 files in a portable format, but not all Win32 file attributes will be - saved and restored. By default, this option is set to {\bf no}, which means - that on Win32 systems, the data will be backed up using Windows API calls and - on WinNT/2K/XP, all the security and ownership attributes will be properly - backed up (and restored). However this format is not portable to other - systems -- e.g. Unix, Win95/98/Me. When backing up Unix systems, this option - is ignored, and unless you have a specific need to have portable backups, we - recommend accept the default ({\bf no}) so that the maximum information - concerning your files is saved. + If set to {\bf yes} (default is {\bf no}), the Bacula File daemon will + backup Win32 files in a portable format, but not all Win32 file + attributes will be saved and restored. By default, this option is set + to {\bf no}, which means that on Win32 systems, the data will be backed + up using Windows API calls and on WinNT/2K/XP, all the security and + ownership attributes will be properly backed up (and restored). However + this format is not portable to other systems -- e.g. Unix, Win95/98/Me. + When backing up Unix systems, this option is ignored, and unless you + have a specific need to have portable backups, we recommend accept the + default ({\bf no}) so that the maximum information concerning your files + is saved. \item [recurse=yes|no] \index[dir]{recurse} \index[dir]{Directive!recurse} - If set to {\bf yes} (the default), Bacula will recurse (or descend) into all - subdirectories found unless the directory is explicitly excluded using an - {\bf exclude} definition. If you set {\bf recurse=no}, Bacula will save the - subdirectory entries, but not descend into the subdirectories, and thus will - not save the files or directories contained in the subdirectories. Normally, - you will want the default ({\bf yes}). + If set to {\bf yes} (the default), Bacula will recurse (or descend) into + all subdirectories found unless the directory is explicitly excluded + using an {\bf exclude} definition. If you set {\bf recurse=no}, Bacula + will save the subdirectory entries, but not descend into the + subdirectories, and thus will not save the files or directories + contained in the subdirectories. Normally, you will want the default + ({\bf yes}). \item [sparse=yes|no] \index[dir]{sparse} @@ -509,21 +511,14 @@ Change: 2005-11-06 12:36:48.000000000 +0100 Multiple wild-card directives may be specified, and they will be applied in turn until the first one that matches. Note, if you exclude a directory, no files or directories below it will be matched. - It is recommended to enclose the string in double quotes. -\item [wildfile=\lt{}string\gt{}] -\index[dir]{wildfile} -\index[dir]{Directive!wildfile} - Specifies a wild-card string to be applied to filenames only. No - directories will be matched by this directive. Note, if {\bf Exclude} - is not enabled, the wild-card will select which files are to be - included. If {\bf Exclude=yes} is specified, the wild-card will select - which files are to be excluded. Multiple wild-card directives may be - specified, and they will be applied in turn until the first one that - matches. + You may want to test your expressions prior to running your + backup by using the bwild program. Please see the + \ilink{UtilitiesChapter}{Utilities} chapter of this manual for + more. You can also test your full FileSet definition by using + the \ilink{estimate}{Estimate} command in the Console + chapter of this manual. It is recommended to enclose the string in double quotes. - An example of excluding with the WildFile option on Win32 machines is - presented below. \item [wilddir=\lt{}string\gt{}] \index[dir]{wilddir} @@ -536,49 +531,89 @@ Change: 2005-11-06 12:36:48.000000000 +0100 specified, and they will be applied in turn until the first one that matches. Note, if you exclude a directory, no files or directories below it will be matched. + It is recommended to enclose the string in double quotes. + + You may want to test your expressions prior to running your + backup by using the bwild program. Please see the + \ilink{UtilitiesChapter}{Utilities} chapter of this manual for + more. You can also test your full FileSet definition by using + the \ilink{estimate}{Estimate} command in the Console + chapter of this manual. An example of excluding with the WildDir option on Win32 machines is presented below. +\item [wildfile=\lt{}string\gt{}] +\index[dir]{wildfile} +\index[dir]{Directive!wildfile} + Specifies a wild-card string to be applied to non-directories. That + is no directory entries will be matched by this directive. + However, note that the match is done against the full path and filename, + so your wild-card string must take into account that filenames + are preceded by the full path. + If {\bf Exclude} + is not enabled, the wild-card will select which files are to be + included. If {\bf Exclude=yes} is specified, the wild-card will select + which files are to be excluded. Multiple wild-card directives may be + specified, and they will be applied in turn until the first one that + matches. + + It is recommended to enclose the string in double quotes. + + You may want to test your expressions prior to running your + backup by using the bwild program. Please see the + \ilink{UtilitiesChapter}{Utilities} chapter of this manual for + more. You can also test your full FileSet definition by using + the \ilink{estimate}{Estimate} command in the Console + chapter of this manual. + An example of excluding with the WildFile option on Win32 machines is + presented below. + \item [regex=\lt{}string\gt{}] \index[dir]{regex} \index[dir]{Directive!regex} Specifies a POSIX extended regular expression to be applied to the - filenames and directory names. - This directive is available in version 1.35 and later. If {\bf + filenames and directory names, which include the full path. If {\bf Exclude} is not enabled, the regex will select which files are to be included. If {\bf Exclude=yes} is specified, the regex will select which files are to be excluded. Multiple regex directives may be specified within an Options resource, and they will be applied in turn - until the first one that matches. Note, if you exclude a - directory, no files or directories below it will be matched. + until the first one that matches. Note, if you exclude a directory, no + files or directories below it will be matched. + It is recommended to enclose the string in double quotes. The regex libraries differ from one operating system to another, and in addition, regular expressions are complicated, so you may want to test your expressions prior to running your - backup by using the regex program. Please see the + backup by using the bregex program. Please see the \ilink{UtilitiesChapter}{Utilities} chapter of this manual for - more. + more. You can also test your full FileSet definition by using + the \ilink{estimate}{Estimate} command in the Console + chapter of this manual. \item [regexfile=\lt{}string\gt{}] \index[dir]{regexfile} \index[dir]{Directive!regexfile} - Specifies a POSIX extended regular expression to be applied to filenames - only. No directories will be matched by this directive. Note, if {\bf - Exclude} is not enabled, the regex will select which files are to be - included. If {\bf Exclude=yes} is specified, the regex will select - which files are to be excluded. Multiple regex directives may be + Specifies a POSIX extended regular expression to be applied to + non-directories. No directories will be matched by this directive. + However, note that the match is done against the full path and + filename, so your regex string must take into account that filenames + are preceded by the full path. + If {\bf Exclude} is not enabled, the regex will select which files are + to be included. If {\bf Exclude=yes} is specified, the regex will + select which files are to be excluded. Multiple regex directives may be specified, and they will be applied in turn until the first one that matches. + It is recommended to enclose the string in double quotes. The regex libraries differ from one operating system to another, and in addition, regular expressions are complicated, so you may want to test your expressions prior to running your - backup by using the regex program. Please see the + backup by using the bregex program. Please see the \ilink{UtilitiesChapter}{Utilities} chapter of this manual for more. @@ -594,12 +629,13 @@ Change: 2005-11-06 12:36:48.000000000 +0100 regex directives may be specified, and they will be applied in turn until the first one that matches. Note, if you exclude a directory, no files or directories below it will be matched. + It is recommended to enclose the string in double quotes. The regex libraries differ from one operating system to another, and in addition, regular expressions are complicated, so you may want to test your expressions prior to running your - backup by using the regex program. Please see the + backup by using the bregex program. Please see the \ilink{UtilitiesChapter}{Utilities} chapter of this manual for more. @@ -607,8 +643,8 @@ Change: 2005-11-06 12:36:48.000000000 +0100 \item [exclude=yes|no] \index[dir]{exclude} \index[dir]{Directive!exclude} - The default is {\bf no}. When enabled, any files matched within the Options - will be excluded from the backup. + The default is {\bf no}. When enabled, any files matched within the + Options will be excluded from the backup. \label{ACLSupport} @@ -631,10 +667,10 @@ Change: 2005-11-06 12:36:48.000000000 +0100 \item [ignore case=yes|no] \index[dir]{ignore case} \index[dir]{Directive!ignore case} - The default is {\bf no}, except on Windows systems where the default - is {\bf yes}. When this directive is set to {\bf yes} all the case - of character will be ignored in wild-card and regex comparisons. - That is an uppercase A will match a lowercase a. + The default is {\bf no}. On Windows systems, you will almost surely + want to set this to {\bf yes}. When this directive is set to {\bf yes} + all the case of character will be ignored in wild-card and regex + comparisons. That is an uppercase A will match a lowercase a. \item [fstype=filesystem-type] \index[dir]{fstype} @@ -1032,8 +1068,8 @@ FileSet { Options { wilddir = /proc wilddir = /tmp - wildfile = ".journal" - wildfile = ".autofsck" + wildfile = "/.journal" + wildfile = "/.autofsck" exclude = yes } File = / @@ -1259,7 +1295,6 @@ FileSet { \normalsize \label{win32} - \subsubsection*{Windows FileSets} \index[general]{Windows FileSets } \index[general]{FileSets!Windows } @@ -1292,14 +1327,14 @@ rules: \begin{itemize} \item Filenames are case sensitive, so you must use the correct case. -\item To exclude a directory, you must not have a trailing slash on the +\item To 2~exclude a directory, you must not have a trailing slash on the directory name. -\item If you have spaces in your filename, you must enclose the entire name +\item I2~f you have spaces in your filename, you must enclose the entire name in double-quote characters ("). Trying to use a backslash before the space will not work. -\item If you are using the old Exclude syntax (noted below), you may not - specify a drive letter in the exclude. The new syntax noted above should work - fine including driver letters. +\item If you are using the old Exclude syntax (noted below), you may not + specify a drive letter in the exclude. The new syntax noted above + should work fine including driver letters. \end{itemize} Thanks to Thiago Lima for summarizing the above items for us. If you are @@ -1442,4 +1477,32 @@ If you wish to get an idea of what your FileSet will really backup or if your exclusion rules will work correctly, you can test it by using the {\bf estimate} command in the Console program. See the \ilink{estimate command}{estimate} in the Console chapter of this -manual. +manual. + +As an example, suppose you add the following test FileSet: + +\footnotesize +\begin{verbatim} +FileSet { + Name = Test + Include { + File = /home/xxx/test + Options { + regex = ".*\.c$" + } + } +} +\end{verbatim} +\normalsize + +You could then add some test files to the directory {\bf /home/xxx/test} +and use the following command in the console: + +\footnotesize +\begin{verbatim} +estimate job= listing client= fileset=Test +\end{verbatim} +\normalsize + +to give you a listing of all files that match. + diff --git a/docs/manual/progs.tex b/docs/manual/progs.tex index 78dad02b..7e05530c 100644 --- a/docs/manual/progs.tex +++ b/docs/manual/progs.tex @@ -793,11 +793,13 @@ read by {\bf btape} \footnotesize \begin{verbatim} -Usage: btape [-c config_file] [-d debug_level] [device_name] +Usage: btape + -b specify bootstrap file -c set configuration file to file - -dnn set debug level to nn + -d set debug level to nn + -p proceed inspite of I/O errors -s turn off signals - -t open the default tape device + -v be verbose -? print this message. \end{verbatim} \normalsize @@ -830,12 +832,13 @@ The full list of commands are: \begin{verbatim} Command Description ======= =========== + autochanger test autochanger bsf backspace file bsr backspace record + bfill fill tape using Bacula writes cap list device capabilities clear clear tape errors eod go to end of Bacula data for append - test General test Bacula tape functions eom go to the physical end of medium fill fill tape, write onto second volume unfill read filled tape @@ -845,15 +848,18 @@ The full list of commands are: label write a Bacula label to the tape load load a tape quit quit btape - rd read tape + rawfill use write() to fill tape readlabel read and print the Bacula tape label rectest test record handling functions rewind rewind the tape - scan read tape block by block to EOT and report + scan read() tape block by block to EOT and report + scanblocks Bacula read block by block to EOT and report status print tape status - test test a tape for compatibility with Bacula + test General test Bacula tape functions weof write an EOF on the tape - wr write a single record of 2048 bytes + wr write a single Bacula block + rr read a single record + qfill quick fill command \end{verbatim} \normalsize @@ -1110,22 +1116,22 @@ you should never need to run dbcheck inspite of the recommendations given above, which are given so that users don't waste their time running dbcheck too often. -\subsection*{regex} +\subsection*{bregex} \label{regex} -\index[general]{regex} -\index[general]{program!regex} -\addcontentsline{toc}{subsection}{regex} +\index[general]{bregex} +\index[general]{program!bregex} +\addcontentsline{toc}{subsection}{bregex} -{\bf regex} is a simple program that will allow you to test -regex expressions against a file of data. This can be useful +{\bf bregex} is a simple program that will allow you to test +regular expressions against a file of data. This can be useful because the regex libraries on most systems differ, and in addition, regex expressions can be complicated. -{\bf regex} is found in the src/tools directory and it is not -normally installed. To run it, use: +{\bf bregex} is found in the src/tools directory and it is +normally installed with your system binaries. To run it, use: \begin{verbatim} -Usage: regex [-d debug_level] -f +Usage: bregex [-d debug_level] -f -f specify file of data to be matched -l suppress line numbers -n print lines that do not match @@ -1147,6 +1153,40 @@ and you can suppress printing of line numbers with the -l option. This program can be useful for testing regex expressions to be applied against a list of filenames. +\subsection*{bwild} +\label{wild} +\index[general]{bwild} +\index[general]{program!bwild} +\addcontentsline{toc}{subsection}{bwild} + +{\bf bwild} is a simple program that will allow you to test +wild-card expressions against a file of data. + +{\bf bwild} is found in the src/tools directory and it is +normally installed with your system binaries. To run it, use: + +\begin{verbatim} +Usage: bwild [-d debug_level] -f + -f specify file of data to be matched + -l suppress line numbers + -n print lines that do not match + -? print this message. +\end{verbatim} + +The \lt{}data-file\gt{} is a filename that contains lines +of data to be matched (or not) against one or more patterns. +When the program is run, it will prompt you for a wild-card +pattern, then apply it one line at a time against +the data in the file. Each line that matches will be printed +preceded by its line number. You will then be prompted again +for another pattern. + +Enter an empty line for a pattern to terminate the program. You +can print only lines that do not match by using the -n option, +and you can suppress printing of line numbers with the -l option. + +This program can be useful for testing wild expressions to be +applied against a list of filenames. \subsection*{testfind} \label{testfind} diff --git a/docs/manual/recycling.tex b/docs/manual/recycling.tex index 92be8025..b83402f5 100644 --- a/docs/manual/recycling.tex +++ b/docs/manual/recycling.tex @@ -248,12 +248,12 @@ The full algorithm that Bacula uses when it needs a new Volume is: \index[general]{Algorithm!New Volume} \begin{itemize} +\item If the request is for an Autochanger device, look only + for Volumes in the Autochanger (i.e. with InChanger set and that have + the correct Storage device). \item Search the Pool for a Volume with VolStatus=Append (if there is more than one, the Volume with the oldest date last written is chosen. If two have the same date then the one with the lowest MediaId is chosen). -\item If the current device is an Autochanger, search the Scratch - Pool for a Volume that is in the Autochanger. If found, move - it to the correct Pool. \item Search the Pool for a Volume with VolStatus=Recycle and the InChanger flag is set true (if there is more than one, the Volume with the oldest date last written is chosen. If two have the same date then the one @@ -262,13 +262,17 @@ The full algorithm that Bacula uses when it needs a new Volume is: \item Prune volumes applying Volume retention period (Volumes with VolStatus Full, Used, or Append are pruned). \item Search the Pool for a Volume with VolStatus=Purged -\item If InChanger was set, go back to the first step above, but - this second time, ignore the InChanger flag in step 2. \item If a Pool named "Scratch" exists, search for a Volume and if found - move it to the current Pool for the Job and use it. + move it to the current Pool for the Job and use it. Note, when + the Scratch Volume is moved into the current Pool, the basic + Pool defaults are applied as if it is a newly labeled Volume + (equivalent to an {\bf update volume from pool} command). +\item If we were looking for Volumes in the Autochanger, go back to + step 2 above, but this time, look for any Volume whether or not + it is in the Autochanger. \item Attempt to create a new Volume if automatic labeling enabled - If Python is enabled, a Python NewVolume even is generated before - the Label Format check is used. + If Python is enabled, a Python NewVolume event is generated before + the Label Format directve is used. \item Prune the oldest Volume if RecycleOldestVolume=yes (the Volume with the oldest LastWritten date and VolStatus equal to Full, Recycle, Purged, Used, or Append is chosen). This record ensures that all retention periods are diff --git a/docs/manual/supportedchangers.tex b/docs/manual/supportedchangers.tex index aa645363..b4ed554c 100644 --- a/docs/manual/supportedchangers.tex +++ b/docs/manual/supportedchangers.tex @@ -30,18 +30,19 @@ Slot). \hline {Linux } & {Adic } & {LTO-1/2, SDLT 320 } & {Adic Scalar 24 } & {24} & {100GB } \\ \hline {Linux } & {Adic } & {LTO-2 } & {Adic FastStor 2, Sun Storedge L8 } & {8} & {200GB } \\ \hline {- } & {CA-VM } & {?? } & {Tape } & {??} & {?? } \\ - \hline {Linux Gentoo} & {Dell} & {DLT VI,LTO-2} & {PowerVault 122T/132T/136T } & {-} & {100GB } \\ + \hline {Linux } & {Dell} & {DLT VI,LTO-2} & {PowerVault 122T/132T/136T } & {-} & {100GB } \\ + \hline {Linux } & {Dell} & {LTO-2} & {PowerVault 124T } & {-} & {200GB } \\ \hline {- } & {DFSMS } & {?? } & {VM RMM} & {-} & {?? } \\ - \hline {z/VM } & {IBM } & {?? } & {IBM Tape Manager } & {-} & {?? } \\ - \hline {z/VM } & {IBM } & {?? } & {native tape } & {-} & {?? } \\ \hline {Linux } & {Exabyte } & {VXA2 } & {VXA PacketLoader 1x10 2U } & {10} & {80/160GB } \\ \hline {- } & {Exabyte } & {LTO } & {Magnum 1x7 LTO Tape Auotloader } & {7} & {200/400GB } \\ - \hline {Linux Gentoo 1.4 } & {Exabyte } & {AIT-2 } & {215A } & {15 (2 drives)} & {50GB } \\ + \hline {Linux } & {Exabyte } & {AIT-2 } & {215A } & {15 (2 drives)} & {50GB } \\ \hline {Linux } & {HP } & {DDS-4 } & {SureStore DAT-40X6 } & {6 } & {40GB } \\ \hline {Linux } & {HP } & {Ultrium-2/LTO } & {MSL 6000/ 60030/ 5052 } & {28 } & {200/400GB } \\ \hline {- } & {HP } & {DLT } & {A4853 DLT } & {30} & {40/70GB } \\ \hline {Linux } & {HP (Compaq) } & {DLT VI } & {Compaq TL-895 } & {96+4 import export} & {35/70GB } \\ - \hline {SuSE 9.0 } & {IBM } & {LTO } & {IBM 3581 Ultrium Tape Loader } & {7} & {200/400GB } \\ + \hline {z/VM } & {IBM } & {?? } & {IBM Tape Manager } & {-} & {?? } \\ + \hline {z/VM } & {IBM } & {?? } & {native tape } & {-} & {?? } \\ + \hline {Linux } & {IBM } & {LTO } & {IBM 3581 Ultrium Tape Loader } & {7} & {200/400GB } \\ \hline {FreeBSD 5.4} & {IBM } & {DLT} & {IBM 3502-R14 -- rebranded ATL L-500} & {14} & {35/70GB } \\ \hline {Debian} & {Overland } & {LTO } & {Overland LoaderXpress LTO/DLT8000 } & {10-19} & {40-100GB } \\ \hline {Fedora} & {Overland } & {LTO } & {Overland PowerLoader LTO-2 } & {10-19} & {200/400GB } \\ diff --git a/docs/manual/tapetesting.tex b/docs/manual/tapetesting.tex index 875ace8f..0988b28a 100644 --- a/docs/manual/tapetesting.tex +++ b/docs/manual/tapetesting.tex @@ -60,8 +60,10 @@ an autochanger, please be sure to read the will automatically use it. If you do not have it configured, you can manually issue the appopriate {\bf mtx} command, or press the autochanger buttons to change the tape when requested to do so. -\item FreeBSD users, run the {\bf tapetest} program, and make sure your - system is patched if necessary. See below for more details. +\item FreeBSD users, if you have a pre-5.0 system run the {\bf tapetest} + program, and make sure your system is patched if necessary. The tapetest + program can be found in the platform/freebsd directory. The instructions + for its use are at the top of the file. \item Run Bacula, and backup a reasonably small directory, say 60 Megabytes. Do three successive backups of this directory. \item Stop Bacula, then restart it. Do another full backup of the same @@ -129,8 +131,6 @@ failures, you can also increase the {\bf Maximum Open Wait} time interval, which will give you more time to mount the next tape before the job is failed. - - \subsubsection*{Specifying the Configuration File} \index[general]{File!Specifying the Configuration} \index[general]{Specifying the Configuration File} @@ -157,8 +157,17 @@ tape, this is the physical device name such as {\bf /dev/nst0} or {\bf directive. For the program to work, it must find the identical name in the Device resource of the configuration file. If the name is not found in the list of phsical names, the utility program will compare the name you entered -to the Device names (rather than the Archive device names). See below for -specifying Volume names. +to the Device names (rather than the Archive device names). + +When specifying a tape device, it is preferable that the "non-rewind" +variant of the device file name be given. In addition, on systems such as +Sun, which have multiple tape access methods, you must be sure to specify +to use Berkeley I/O conventions with the device. The +{\bf b} in the Solaris (Sun) archive specification {\bf /dev/rmt/0mbn} is +what is needed in this case. Bacula does not support SysV tape drive +behavior. + +See below for specifying Volume names. \subsubsection*{Specifying a Device Name For a File} \index[general]{File!Specifying a Device Name For a} @@ -306,7 +315,12 @@ Got EOF on tape. \normalsize then almost certainly, you are running your drive in fixed block mode rather -than variable block mode. Please see below for help on resolving that. +than variable block mode. See below for more help of resolving fix +versus variable block problems. + +It is also possible that you have your drive +set in SysV tape drive mode. The drive must use BSD tape conventions. +See the section above on setting your {\bf Archive device} correctly. For FreeBSD users, please see the notes below for doing further testing of your tape drive. @@ -427,7 +441,7 @@ There are two possible solutions. \item The first and best is to always ensure that your drive is in variable block mode. Note, it can switch back to fixed block mode on a reboot or if another program uses the drive. So on such systems you need to modify the -Bacula startup files to explicitly set: + Bacula startup files to explicitly set: \footnotesize \begin{verbatim} @@ -535,7 +549,6 @@ medium, and Bacula will keep track of the file number itself. \end{itemize} \label{IncorrectBlocks} - \subsubsection*{Incorrect Number of Blocks or Positioning Errors during btape Testing} \index[general]{Testing!Incorrect Number of Blocks or Positioning Errors @@ -628,6 +641,8 @@ behavior. On systems other than Linux, you will need to consult your {\bf mt} man pages or documentation to figure out how to do the same thing. This should not really be necessary though -- for example, on both Linux and Solaris systems, the default tape driver options are compatible with Bacula. +On Solaris systems, you must take care to specify the correct device +name on the {\bf Archive device} directive. See above for more details. You may also want to ensure that no prior program has set the default block size, as happened to one user, by explicitly turning it off with: @@ -730,25 +745,28 @@ is non-zero and hence set for a particular block size. Bacula is not likely to work in such a situation because it will normally attempt to write blocks of 64,512 bytes, except the last block of the job which will generally be shorter. The first thing to try is setting the default block size to zero -using the {\bf mt \ -f \ /dev/nst0 \ defblksize \ 0} command as shown above. -On FreeBSD, this would be something like: {\bf mt \ -f \ /dev/nsa0 \ blocksize -\ 0}. +using the {\bf mt -f /dev/nst0 defblksize 0} command as shown above. +On FreeBSD, this would be something like: {\bf mt -f /dev/nsa0 blocksize 0}. On some operating systems with some tape drives, the amount of data that can be written to the tape and whether or not compression is enabled is -determined by the density usually the {\bf mt \ -f \ /dev/nst0 setdensity xxx} command. -Often {\bf mt \ -f \ /dev/nst0 \ status} will print out the current +determined by the density usually the {\bf mt -f /dev/nst0 setdensity xxx} command. +Often {\bf mt -f /dev/nst0 status} will print out the current density code that is used with the drive. Most systems, but unfortunately not all, set the density to the maximum by default. On some systems, you can also get a list of all available density codes with: -{\bf mt \ -f \ /dev/nst0 \ densities} or a similar {\bf mt} command. +{\bf mt -f /dev/nst0 densities} or a similar {\bf mt} command. Note, for DLT and SDLT devices, no-compression versus compression is very often controlled by the density code. On FreeBSD systems, the compression -mode is set using {\bf mt \ -f \ /dev/nsa0 \ comp xxx} where xxx is the +mode is set using {\bf mt -f /dev/nsa0 comp xxx} where xxx is the mode you want. In general, see {\bf man mt} for the options available on your system. - +Note, some of the above {\bf mt} commands may not be persistent depending +on your system configuration. That is they may be reset if a program +other than Bacula uses the drive or, as is frequently the case, on reboot +of your system. + If your tape drive requires fixed block sizes (very unusual), you can use the following records: @@ -784,14 +802,16 @@ with: \footnotesize \begin{verbatim} -mt \ -f \ /dev/nsa0 \ seteotmodel \ 2 -mt \ -f \ /dev/nsa0 \ blocksize \ 0 -mt \ -f \ /dev/nsa0 \ comp \ enable +mt -f /dev/nsa0 seteotmodel 2 +mt -f /dev/nsa0 blocksize 0 +mt -f /dev/nsa0 comp enable \end{verbatim} \normalsize You might want to put those commands in a startup script to make sure your -tape driver is properly initialized before running Bacula. +tape driver is properly initialized before running Bacula, because +depending on your system configuration, these modes may be reset if a +program other than Bacula uses the drive or when your system is rebooted. Then according to what the {\bf btape test} command returns, you will probably need to set the following (see below for an alternative): @@ -824,9 +844,9 @@ the correct values to use are: \footnotesize \begin{verbatim} -mt \ -f \ /dev/nsa0 \ seteotmodel \ 1 -mt \ -f \ /dev/nsa0 \ blocksize \ 0 -mt \ -f \ /dev/nsa0 \ comp \ enable +mt -f /dev/nsa0 seteotmodel 1 +mt -f /dev/nsa0 blocksize 0 +mt -f /dev/nsa0 comp enable \end{verbatim} \normalsize @@ -1105,8 +1125,9 @@ certain tape modes and MTEOM. skipped. File number is always tracked for MTEOM. Linux does support both SCSI SPACE Filemarks and End-of-data: When MTEOM - is called in MT_ST_FAST_MTEOM mode, SCSI SPACE Filemarks with count = - 8388607 is used. In the other case, SCSI SPACE End-of-data is used. + is called in MT_ST_FAST_MTEOM mode, SCSI SPACE End-of-data is used. + In the other case, SCSI SPACE Filemarks with count = + 8388607 is used. There is no real slow mode like in Solaris - I just expect, that for older tape drives Filemarks may be slower than End-of-data, but not so much as in Solaris slow mode. File number is tracked for MTEOM just @@ -1115,7 +1136,7 @@ certain tape modes and MTEOM. FreeBSD does support both SCSI SPACE Filemarks and End-of-data, but when MTEOD (MTEOM) is called, SCSI SPACE End-of-data is always used. FreeBSD never use SCSI SPACE Filemarks for MTEOD. File number is never tracked - for MTOED. + for MTEOD. \item[Bacula level] When {\bf Hardware End of Medium = Yes} is used, MTEOM is called, but it @@ -1134,20 +1155,14 @@ certain tape modes and MTEOM. If I use No, an action depends on Fast Forward Space File. - Considering {\bf Hardware End of Medium = no} + When I set {\bf Hardware End of Medium = no} and {\bf Fast Forward Space File = no} - When I set the two to no, file positioning was very slow - on my LTO-3: -\begin{verbatim} - HEOM = no, FFSF = no: ~ 10 - 100 minutes -\end{verbatime} + file positioning was very slow + on my LTO-3 (about 10 to 100 minutes), but -while even with {\bf Hardware End of Medium = no} but + with {\bf Hardware End of Medium = no} and {\bf Fast Forward Space File = yes}, the time is 10 to -100 times faster. -\begin{verbatim} - HEOM = no, FFSF = yes: ~ 1 minute -\end{verbatim} +100 times faster (about 1 to 2 minutes). \end{description} diff --git a/docs/manual/tls.tex b/docs/manual/tls.tex index 499bed51..ddb11afc 100644 --- a/docs/manual/tls.tex +++ b/docs/manual/tls.tex @@ -192,6 +192,7 @@ files, which should help you setting up your own. Director { # define myself Name = backup1-dir ... + TLS Enable = yes TLS Require = yes TLS Verify Peer = yes TLS Allowed CN = "bacula@backup1.example.com" @@ -223,6 +224,7 @@ files, which should help you setting up your own. Director { Name = backup1-dir ... + TLS Enable = yes TLS Require = yes TLS Verify Peer = yes # Allow only the Director to connect @@ -245,6 +247,7 @@ files, which should help you setting up your own. # These TLS configuration options are used for incoming # file daemon connections. Director TLS settings are handled # below. + TLS Enable = yes TLS Require = yes # Peer certificate is not required/requested -- peer validity # is verified by the storage connection cookie provided to the @@ -263,6 +266,7 @@ files, which should help you setting up your own. Director { Name = backup1-dir ... + TLS Enable = yes TLS Require = yes # Require the connecting director to provide a certificate # with the matching CN. diff --git a/docs/manual/version.tex b/docs/manual/version.tex index e7bad7d1..374c904d 100644 --- a/docs/manual/version.tex +++ b/docs/manual/version.tex @@ -1 +1 @@ -1.38.7 (06 April 2006) +1.38.8 (14 April 2006) diff --git a/docs/manual/win32.tex b/docs/manual/win32.tex index 64d07802..c26bb95f 100644 --- a/docs/manual/win32.tex +++ b/docs/manual/win32.tex @@ -15,15 +15,16 @@ Windows. As a consequence, when we speak of the Windows version of Bacula below, we are referring to the File daemon only. The Windows version of the Bacula File daemon has been tested on Win98, WinMe, -WinNT, and Win2000 systems. We have coded to support Win95, but no longer have -a system for testing. The Windows version of Bacula is a native Win32 port, -but there are very few source code changes to the Unix code, which means that the Windows -version is for the most part running code that has long proved stable on Unix -systems. When running, it is perfectly integrated with Windows and displays -its icon in the system icon tray, and provides a system tray menu to obtain -additional information on how Bacula is running (status and events dialog -boxes). If so desired, it can also be stopped by using the system tray menu, -though this should normally never be necessary. +WinNT, WinXP, Win2000, and Windwos 2003 systems. We have coded to support +Win95, but no longer have a system for testing. The Windows version of +Bacula is a native Win32 port, but there are very few source code changes +to the Unix code, which means that the Windows version is for the most part +running code that has long proved stable on Unix systems. When running, it +is perfectly integrated with Windows and displays its icon in the system +icon tray, and provides a system tray menu to obtain additional information +on how Bacula is running (status and events dialog boxes). If so desired, +it can also be stopped by using the system tray menu, though this should +normally never be necessary. Once installed Bacula normally runs as a system service. This means that it is immediately started by the operating system when the system is booted, and -- 2.39.5