From: Kern Sibbald Date: Tue, 8 May 2007 11:59:23 +0000 (+0000) Subject: updates X-Git-Tag: Release-2.2.0~554 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=6d6824349f8f463c94a2b2b0c061354c5d4dc5f2;p=bacula%2Fdocs updates --- diff --git a/docs/developers/imagename_translations b/docs/developers/imagename_translations index 186c14f0..8cfd734f 100644 --- a/docs/developers/imagename_translations +++ b/docs/developers/imagename_translations @@ -1,2 +1,2 @@ -img2.png./smartall.eps img1.png./bacula-logo.eps +img2.png./smartall.eps diff --git a/docs/developers/version.tex b/docs/developers/version.tex index a5bb3167..2731cf8a 100644 --- a/docs/developers/version.tex +++ b/docs/developers/version.tex @@ -1 +1 @@ -2.1.8 (28 April 2007) +2.1.8 (08 May 2007) diff --git a/docs/manual-de/version.tex b/docs/manual-de/version.tex index a5bb3167..2731cf8a 100644 --- a/docs/manual-de/version.tex +++ b/docs/manual-de/version.tex @@ -1 +1 @@ -2.1.8 (28 April 2007) +2.1.8 (08 May 2007) diff --git a/docs/manual/Makefile.in b/docs/manual/Makefile.in index 320cc344..ce7d0058 100644 --- a/docs/manual/Makefile.in +++ b/docs/manual/Makefile.in @@ -16,6 +16,23 @@ # make tex # make show # +# +# If you are having problems getting "make" to work, debugging it is +# easier if can see the output from latex, which is normally redirected +# to /dev/null. To see it, do the following: +# +# cd docs/manual +# make tex +# latex bacula.tex +# +# typically the latex command will stop indicating the error (e.g. a +# missing \ in front of a _ or a missing { or ] ... +# +# The following characters must be preceded by a backslash +# to be entered as printable characters: +# +# # $ % & ~ _ ^ \ { } +# IMAGES=../images @@ -29,104 +46,104 @@ bacula: tex web dvipdf mini-clean tex: - @./update_version - @echo "Making version `cat version.tex`" - @cp -fp ${IMAGES}/hires/*.eps . - @touch baculai-dir.tex baculai-fd.tex baculai-sd.tex \ - baculai-console.tex baculai-general.tex - latex -interaction=batchmode bacula.tex - makeindex bacula.idx -o bacula.ind 2>/dev/null - makeindex bacula.ddx -o bacula.dnd >/dev/null 2>/dev/null - makeindex bacula.fdx -o bacula.fnd >/dev/null 2>/dev/null - makeindex bacula.sdx -o bacula.snd >/dev/null 2>/dev/null - makeindex bacula.cdx -o bacula.cnd >/dev/null 2>/dev/null - latex -interaction=batchmode bacula.tex - latex -interaction=batchmode bimagemgr.tex + @./update_version + @echo "Making version `cat version.tex`" + @cp -fp ${IMAGES}/hires/*.eps . + @touch baculai-dir.tex baculai-fd.tex baculai-sd.tex \ + baculai-console.tex baculai-general.tex + latex -interaction=batchmode bacula.tex + makeindex bacula.idx -o bacula.ind 2>/dev/null + makeindex bacula.ddx -o bacula.dnd >/dev/null 2>/dev/null + makeindex bacula.fdx -o bacula.fnd >/dev/null 2>/dev/null + makeindex bacula.sdx -o bacula.snd >/dev/null 2>/dev/null + makeindex bacula.cdx -o bacula.cnd >/dev/null 2>/dev/null + latex -interaction=batchmode bacula.tex + latex -interaction=batchmode bimagemgr.tex pdf: - @echo "Making pdfm" - @cp -fp ${IMAGES}/hires/*.eps . - dvipdfm -p a4 bacula.dvi - dvipdfm -p a4 bimagemgr.dvi + @echo "Making pdfm" + @cp -fp ${IMAGES}/hires/*.eps . + dvipdfm -p a4 bacula.dvi + dvipdfm -p a4 bimagemgr.dvi dvipdf: - @echo "Making dvi to pdf" - @cp -fp ${IMAGES}/hires/*.eps . - dvipdf bacula.dvi bacula.pdf - dvipdf bimagemgr.dvi bimagemgr.pdf + @echo "Making dvi to pdf" + @cp -fp ${IMAGES}/hires/*.eps . + dvipdf bacula.dvi bacula.pdf + dvipdf bimagemgr.dvi bimagemgr.pdf html: - @echo " " - @echo "Making html" - @cp -fp ${IMAGES}/*.eps . - @rm -f next.eps next.png prev.eps prev.png up.eps up.png - @(if [ -f imagename_translations ] ; then \ - ./translate_images.pl --from_meaningful_names bacula.html; \ - fi) - latex2html -white -no_subdir -split 0 -toc_stars -white -notransparent \ - -init_file latex2html-init.pl bacula >tex.out 2>&1 - ./translate_images.pl --to_meaningful_names bacula.html - @echo "Done making html" + @echo " " + @echo "Making html" + @cp -fp ${IMAGES}/*.eps . + @rm -f next.eps next.png prev.eps prev.png up.eps up.png + @(if [ -f imagename_translations ] ; then \ + ./translate_images.pl --from_meaningful_names bacula.html; \ + fi) + latex2html -white -no_subdir -split 0 -toc_stars -white -notransparent \ + -init_file latex2html-init.pl bacula >tex.out 2>&1 + ./translate_images.pl --to_meaningful_names bacula.html + @echo "Done making html" web: - @echo "Making web" - @mkdir -p bacula - @cp -fp ${IMAGES}/*.eps . - @rm -f next.eps next.png prev.eps prev.png up.eps up.png - @cp -fp ${IMAGES}/*.eps *.txt bacula/ - @cp -fp ${IMAGES}/*.eps *.txt ${IMAGES}/*.png bacula/ - @rm -f bacula/xp-*.png - @rm -f bacula/next.eps bacula/next.png bacula/prev.eps bacula/prev.png bacula/up.eps bacula/up.png - @rm -rf bacula/*.html - latex2html -split 3 -local_icons -t "Bacula User's Guide" -long_titles 4 \ - -toc_stars -contents_in_nav -init_file latex2html-init.pl -white -notransparent bacula >tex.out 2>&1 - ./translate_images.pl --to_meaningful_names bacula/Bacula_Users_Guide.html - cp -f bacula/Bacula_Freque_Asked_Questi.html bacula/faq.html - @echo "Done making web" + @echo "Making web" + @mkdir -p bacula + @cp -fp ${IMAGES}/*.eps . + @rm -f next.eps next.png prev.eps prev.png up.eps up.png + @cp -fp ${IMAGES}/*.eps *.txt bacula/ + @cp -fp ${IMAGES}/*.eps *.txt ${IMAGES}/*.png bacula/ + @rm -f bacula/xp-*.png + @rm -f bacula/next.eps bacula/next.png bacula/prev.eps bacula/prev.png bacula/up.eps bacula/up.png + @rm -rf bacula/*.html + latex2html -split 3 -local_icons -t "Bacula User's Guide" -long_titles 4 \ + -toc_stars -contents_in_nav -init_file latex2html-init.pl -white -notransparent bacula >tex.out 2>&1 + ./translate_images.pl --to_meaningful_names bacula/Bacula_Users_Guide.html + cp -f bacula/Bacula_Freque_Asked_Questi.html bacula/faq.html + @echo "Done making web" show: - xdvi bacula + xdvi bacula texcheck: - ./check_tex.pl bacula.tex + ./check_tex.pl bacula.tex main_configs: - pic2graph -density 100 main_configs.png + pic2graph -density 100 main_configs.png mini-clean: - @rm -f 1 2 3 *.tex~ - @rm -f *.gif *.jpg *.eps - @rm -f *.aux *.cp *.fn *.ky *.log *.pg - @rm -f *.backup *.ilg *.lof *.lot - @rm -f *.cdx *.cnd *.ddx *.ddn *.fdx *.fnd *.ind *.sdx *.snd - @rm -f *.dnd *.old *.out - @rm -f bacula/*.gif bacula/*.jpg bacula/*.eps - @rm -f bacula/*.aux bacula/*.cp bacula/*.fn bacula/*.ky bacula/*.log bacula/*.pg - @rm -f bacula/*.backup bacula/*.ilg bacula/*.lof bacula/*.lot - @rm -f bacula/*.cdx bacula/*.cnd bacula/*.ddx bacula/*.ddn bacula/*.fdx bacula/*.fnd bacula/*.ind bacula/*.sdx bacula/*.snd - @rm -f bacula/*.dnd bacula/*.old bacula/*.out - @rm -f bacula/WARNINGS + @rm -f 1 2 3 *.tex~ + @rm -f *.gif *.jpg *.eps + @rm -f *.aux *.cp *.fn *.ky *.log *.pg + @rm -f *.backup *.ilg *.lof *.lot + @rm -f *.cdx *.cnd *.ddx *.ddn *.fdx *.fnd *.ind *.sdx *.snd + @rm -f *.dnd *.old *.out + @rm -f bacula/*.gif bacula/*.jpg bacula/*.eps + @rm -f bacula/*.aux bacula/*.cp bacula/*.fn bacula/*.ky bacula/*.log bacula/*.pg + @rm -f bacula/*.backup bacula/*.ilg bacula/*.lof bacula/*.lot + @rm -f bacula/*.cdx bacula/*.cnd bacula/*.ddx bacula/*.ddn bacula/*.fdx bacula/*.fnd bacula/*.ind bacula/*.sdx bacula/*.snd + @rm -f bacula/*.dnd bacula/*.old bacula/*.out + @rm -f bacula/WARNINGS clean: - @rm -f 1 2 3 *.tex~ - @rm -f *.png *.gif *.jpg *.eps - @rm -f *.pdf *.aux *.cp *.fn *.ky *.log *.pg - @rm -f *.html *.backup *.ps *.dvi *.ilg *.lof *.lot - @rm -f *.cdx *.cnd *.ddx *.ddn *.fdx *.fnd *.ind *.sdx *.snd - @rm -f *.dnd imagename_translations - @rm -f *.old WARNINGS *.out *.toc *.idx - @rm -f baculai-dir.tex baculai-fd.tex baculai-sd.tex \ - baculai-console.tex baculai-general.tex images.tex + @rm -f 1 2 3 *.tex~ + @rm -f *.png *.gif *.jpg *.eps + @rm -f *.pdf *.aux *.cp *.fn *.ky *.log *.pg + @rm -f *.html *.backup *.ps *.dvi *.ilg *.lof *.lot + @rm -f *.cdx *.cnd *.ddx *.ddn *.fdx *.fnd *.ind *.sdx *.snd + @rm -f *.dnd imagename_translations + @rm -f *.old WARNINGS *.out *.toc *.idx + @rm -f baculai-dir.tex baculai-fd.tex baculai-sd.tex \ + baculai-console.tex baculai-general.tex images.tex distclean: - @rm -f 1 2 3 *.tex~ - @rm -f *.gif *.jpg *.eps - @rm -f *.aux *.cp *.fn *.ky *.log *.pg - @rm -f *.backup *.ps *.dvi *.ilg *.lof *.lot - @rm -f *.cdx *.cnd *.ddx *.ddn *.fdx *.fnd *.ind *.sdx *.snd - @rm -f *.dnd imagename_translations - @rm -f *.old WARNINGS *.out *.toc *.idx - @rm -f images.pl labels.pl internals.pl - @rm -f baculai-dir.tex baculai-fd.tex baculai-sd.tex \ - baculai-console.tex baculai-general.tex images.tex + @rm -f 1 2 3 *.tex~ + @rm -f *.gif *.jpg *.eps + @rm -f *.aux *.cp *.fn *.ky *.log *.pg + @rm -f *.backup *.ps *.dvi *.ilg *.lof *.lot + @rm -f *.cdx *.cnd *.ddx *.ddn *.fdx *.fnd *.ind *.sdx *.snd + @rm -f *.dnd imagename_translations + @rm -f *.old WARNINGS *.out *.toc *.idx + @rm -f images.pl labels.pl internals.pl + @rm -f baculai-dir.tex baculai-fd.tex baculai-sd.tex \ + baculai-console.tex baculai-general.tex images.tex diff --git a/docs/manual/console.tex b/docs/manual/console.tex index 46c8d39b..ee9adafc 100644 --- a/docs/manual/console.tex +++ b/docs/manual/console.tex @@ -107,6 +107,10 @@ show pools will display all the Pool resource records. +The maximum command line length is limited to 511 characters, so if you +are scripting the console, you may need to take some care to limit the +line length. + \section{Stopping the Console Program} \index[general]{Program!Stopping the Console} \index[general]{Stopping the Console Program} diff --git a/docs/manual/consoleconf.tex b/docs/manual/consoleconf.tex index a9012caa..c564f955 100644 --- a/docs/manual/consoleconf.tex +++ b/docs/manual/consoleconf.tex @@ -165,6 +165,7 @@ levels. address of the Console. This permits portables or other machines using DHCP (non-fixed IP addresses) to "notify" the Director of their current IP address. + \end{itemize} The Console resource is optional and need not be specified. However, if it is @@ -196,7 +197,7 @@ restricted consoles as noted above. \item [Password = \lt{}password\gt{}] - \index[dir]{Password} + \index[console]{Password} If this password is supplied, then the password specified in the Director resource of you Console conf will be ignored. See below for more details. @@ -206,6 +207,16 @@ restricted consoles as noted above. used by bconsole when that particular director is selected when first starting bconsole. I.e. it binds a particular console resource with its name and password to a particular director. + +\item [Heartbeat Interval = \lt{}time-interval\gt{}] + \index[console]{Heartbeat Interval} + \index[console]{Directive!Heartbeat} + This directive is optional and if specified will cause the Console to + set a keepalive interval (heartbeat) in seconds on each of the sockets + to communicate with the Director. It is implemented only on systems + (Linux, ...) that provide the {\bf setsockopt} TCP\_KEEPIDLE function. + The default value is zero, which means no change is made to the socket. + \end{description} diff --git a/docs/manual/dirdconf.tex b/docs/manual/dirdconf.tex index f0728db4..bcfbfe27 100644 --- a/docs/manual/dirdconf.tex +++ b/docs/manual/dirdconf.tex @@ -279,23 +279,26 @@ resource. \index[dir]{DirPort} \index[dir]{Directive!DirPort} Specify the port (a positive integer) on which the Director daemon will -listen for Bacula Console connections. This same port number must be -specified in the Director resource of the Console configuration file. The -default is 9101, so normally this directive need not be specified. This -directive should not be used if you specify DirAddresses (not plural) -directive. + listen for Bacula Console connections. This same port number must be + specified in the Director resource of the Console configuration file. The + default is 9101, so normally this directive need not be specified. This + directive should not be used if you specify DirAddresses (not plural) + directive. \item [DirAddress = \lt{}IP-Address\gt{}] \index[dir]{DirAddress} \index[dir]{Directive!DirAddress} This directive is optional, but if it is specified, it will cause the -Director server (for the Console program) to bind to the specified {\bf -IP-Address}, which is either a domain name or an IP address specified as a -dotted quadruple in string or quoted string format. If this directive is not -specified, the Director will bind to any available address (the default). -Note, unlike the DirAddresses specification noted above, this directive only -permits a single address to be specified. This directive should not be used if you -specify a DirAddresses (note plural) directive. + Director server (for the Console program) to bind to the specified {\bf + IP-Address}, which is either a domain name or an IP address specified as a + dotted quadruple in string or quoted string format. If this directive is not + specified, the Director will bind to any available address (the default). + Note, unlike the DirAddresses specification noted above, this directive only + permits a single address to be specified. This directive should not be used if you + specify a DirAddresses (note plural) directive. + + + \end{description} The following is an example of a valid Director resource definition: @@ -1332,15 +1335,14 @@ RunScript { \index[general]{slow} \index[dir]{Backups!slow} \index[general]{Backups!slow} - The default is set to {\bf no}, which means that the File attributes are -sent -by the Storage daemon to the Director as they are stored on tape. However, -if you want to avoid the possibility that database updates will slow down -writing to the tape, you may want to set the value to {\bf yes}, in which -case the Storage daemon will buffer the File attributes and Storage -coordinates to a temporary file in the Working Directory, then when writing -the Job data to the tape is completed, the attributes and storage coordinates -will be sent to the Director. + The default is set to {\bf no}, which means that the File attributes are + sent by the Storage daemon to the Director as they are stored on tape. + However, if you want to avoid the possibility that database updates will + slow down writing to the tape, you may want to set the value to {\bf + yes}, in which case the Storage daemon will buffer the File attributes + and Storage coordinates to a temporary file in the Working Directory, + then when writing the Job data to the tape is completed, the attributes + and storage coordinates will be sent to the Director. \item [Where = \lt{}directory\gt{}] \index[dir]{Where} @@ -1358,18 +1360,16 @@ will be sent to the Director. \label{confaddprefix} \index[dir]{AddPrefix} \index[dir]{Directive!AddPrefix} - This directive applies only to a Restore job and specifies a prefix to the directory name of all files being restored. This will use \ilink{File - Relocation}{filerelocation} feature (need bacula 2.2.0 or later). + Relocation}{filerelocation} feature implemented in Bacula 2.1.8 or later. \item [Add Suffix = \lt{}extention\gt{}] \index[dir]{AddSuffix} \index[dir]{Directive!AddSuffix} - This directive applies only to a Restore job and specifies a suffix to all files being restored. This will use \ilink{File Relocation}{filerelocation} - feature (need bacula 2.2.0 or later). + feature implemented in Bacula 2.1.8 or later. Using \texttt{Add Suffix=.old}, \texttt{/etc/passwd} will be restored to \texttt{/etc/passwsd.old} @@ -1377,16 +1377,16 @@ will be sent to the Director. \item [Strip Prefix = \lt{}directory\gt{}] \index[dir]{StripPrefix} \index[dir]{Directive!StripPrefix} - This directive applies only to a Restore job and specifies a prefix to remove from directory name of all files being restored. This will use \ilink{File - Relocation}{filerelocation} feature (need bacula 2.2.0 or later). + Relocation}{filerelocation} feature implemented in Bacula 2.1.8 or later. Using \texttt{Strip Prefix=/etc}, \texttt{/etc/passwd} will be restored to \texttt{/passwd} Under Windows, if you want to restore \texttt{c:/files} to \texttt{d:/files}, you can use : + \begin{verbatim} Strip Prefix = c: Add Prefix = d: @@ -1395,10 +1395,9 @@ will be sent to the Director. \item [RegexWhere = \lt{}expressions\gt{}] \index[dir]{RegexWhere} \index[dir]{Directive!RegexWhere} - This directive applies only to a Restore job and specifies a regex filename manipulation of all files being restored. This will use \ilink{File - Relocation}{filerelocation} feature (need bacula 2.2.0 or later). + Relocation}{filerelocation} feature implemented in Bacula 2.1.8 or later. For more informations about how use this option, see \ilink{this}{useregexwhere}. @@ -1593,6 +1592,17 @@ correct order, and that your priority scheme will be respected. medium when all jobs are finished. This directive is ignored with tape and FIFO devices. + +\item [Heartbeat Interval = \lt{}time-interval\gt{}] + \index[dir]{Heartbeat Interval} + \index[dir]{Directive!Heartbeat} + This directive is optional and if specified will cause the Director to + set a keepalive interval (heartbeat) in seconds on each of the sockets + it opens for the Client resource. This value will override any + specified at the Director level. It is implemented only on systems + (Linux, ...) that provide the {\bf setsockopt} TCP\_KEEPIDLE function. + The default value is zero, which means no change is made to the socket. + \end{description} The following is an example of a valid Job resource definition: @@ -2227,17 +2237,27 @@ the Director. \index[dir]{Maximum Concurrent Jobs} \index[dir]{Directive!Maximum Concurrent Jobs} where \lt{}number\gt{} is the maximum number of Jobs with the current -Storage -resource that can run concurrently. Note, this directive limits only Jobs -for Jobs using this Storage daemon. Any other restrictions on the maximum -concurrent jobs such as in the Director, Job, or Client resources will also -apply in addition to any limit specified here. The default is set to 1, but -you may set it to a larger number. However, if you set the Storage -daemon's number of concurrent jobs greater than one, -we recommend that you read the -waring documented under \ilink{Maximum Concurrent Jobs}{DirMaxConJobs} -in the Director's resource or simply turn data spooling on as documented -in the \ilink{Data Spooling}{SpoolingChapter} chapter of this manual. + Storage resource that can run concurrently. Note, this directive limits + only Jobs for Jobs using this Storage daemon. Any other restrictions on + the maximum concurrent jobs such as in the Director, Job, or Client + resources will also apply in addition to any limit specified here. The + default is set to 1, but you may set it to a larger number. However, if + you set the Storage daemon's number of concurrent jobs greater than one, + we recommend that you read the waring documented under \ilink{Maximum + Concurrent Jobs}{DirMaxConJobs} in the Director's resource or simply + turn data spooling on as documented in the \ilink{Data + Spooling}{SpoolingChapter} chapter of this manual. + +\item [Heartbeat Interval = \lt{}time-interval\gt{}] + \index[dir]{Heartbeat Interval} + \index[dir]{Directive!Heartbeat} + This directive is optional and if specified will cause the Director to + set a keepalive interval (heartbeat) in seconds on each of the sockets + it opens for the Storage resource. This value will override any + specified at the Director level. It is implemented only on systems + (Linux, ...) that provide the {\bf setsockopt} TCP\_KEEPIDLE function. + The default value is zero, which means no change is made to the socket. + \end{description} The following is an example of a valid Storage resource definition: diff --git a/docs/manual/filedconf.tex b/docs/manual/filedconf.tex index 0cbdb082..6420603f 100644 --- a/docs/manual/filedconf.tex +++ b/docs/manual/filedconf.tex @@ -208,6 +208,16 @@ only IPv4 resolutions will be permitted, and likewise with ip6. seem abnormally slow compared to other systems, you might try setting the Maximum Network Buffer Size to 32,768 in both the File daemon and in the Storage daemon. + +\item [Heartbeat Interval = \lt{}time-interval\gt{}] + \index[console]{Heartbeat Interval} + \index[console]{Directive!Heartbeat} + This directive is optional and if specified will cause the File daemon to + set a keepalive interval (heartbeat) in seconds on each of the sockets + to communicate with the Storage daemon. It is implemented only on systems + (Linux, ...) that provide the {\bf setsockopt} TCP\_KEEPIDLE function. + The default value is zero, which means no change is made to the socket. + \end{description} The following is an example of a valid Client resource definition: diff --git a/docs/manual/fileset.tex b/docs/manual/fileset.tex index aa2e6c6f..5fb0cb13 100644 --- a/docs/manual/fileset.tex +++ b/docs/manual/fileset.tex @@ -715,7 +715,6 @@ Change: 2005-11-06 12:36:48.000000000 +0100 Options will be excluded from the backup. \label{ACLSupport} - \item [aclsupport=yes|no] \index[dir]{aclsupport} \index[dir]{Directive!aclsupport} @@ -766,6 +765,15 @@ Change: 2005-11-06 12:36:48.000000000 +0100 This option allows you to turn on support for Mac OSX HFS plus finder information. +\item [strippath=\lt{}integer\gt{}] +\index[dir]{strippath} +\index[dir]{Directive!strippath} + This option will cause {\bf integer} paths to be stripped from + the front of the full path/filename being backed up. This can + be useful if you are migrating data from another vendor or if + you have taken a snapshot into some subdirectory. This directive + can cause your filenames to be overlayed with regular backup data, + so should be used only by experts and with great care. \end{description} {\bf \lt{}file-list\gt{}} is a list of directory and/or filename names diff --git a/docs/manual/restore.tex b/docs/manual/restore.tex index 7234deee..b847b6f4 100644 --- a/docs/manual/restore.tex +++ b/docs/manual/restore.tex @@ -592,10 +592,10 @@ The full list of possible command line arguments are: \end{itemize} \label{restorefilerelocation} -You can also do filename and path manipulations (need bacula 2.2.0 or later) -like adding a suffix to all your files, rename files or directories etc. Theses -options will overwrite {\bf where=} option. See \ref{filerelocation} for more -informations and examples. +You can also do filename and path manipulations, implemented in Bacula +2.1.8 or later, such as adding a suffix to all your files, renaming files +or directories, etc. Theses options will overwrite {\bf where=} option. +See the next section for more information and examples. \begin{itemize} \item {\bf strip\_prefix=/prod} -- remove a part of the filename when restoring. @@ -613,19 +613,24 @@ informations and examples. \subsection{Introduction} The \textbf{where=} option is simple, but not very powerful. With file -relocation, bacula can restore a file in the same directory, but with a +relocation, Bacula can restore a file to the same directory, but with a different name, or in an other directory without recreating the full path. -For example, many users are using snapshot, \texttt{/home/eric/mbox} will be -backuped as \texttt{/.snap/home/eric/mbox}. If you use \textbf{where=/tmp}, the -file will be restored to \texttt{/tmp/.snap/home/eric/mbox} and you will have -to move the file to \texttt{/home/eric/mbox.bkp} by hand. In this case, -you can use \textbf{strip\_prefix=/.snap} and \textbf{add\_suffix=.bkp} -options and bacula will do the job. - -To use this feature, your can use \ilink{restore}{restorefilerelocation} -command line options, or modify your restore job before running it, or add -options to your base restore job in \ilink{bacula-dir.conf}{confaddprefix}. +For example, many users use OS snapshot features so that file +\texttt{/home/eric/mbox} will be backed up from the directory +\texttt{/.snap/home/eric/mbox}, which can complicate restores. If you use +\textbf{where=/tmp}, the file will be restored to +\texttt{/tmp/.snap/home/eric/mbox} and you will have to move the file to +\texttt{/home/eric/mbox.bkp} by hand. In this case, you could use +\textbf{strip\_prefix=/.snap} and \textbf{add\_suffix=.bkp} options and +Bacula will restore the file to its original location -- that is +\texttt{/home/eric/mbox}. + +To use this feature, there are command line options as described in +the \ilink{restore section}{restorefilerelocation} of this manual; +you can modify your restore job before running it; or you can +add options to your restore job in as described in +\ilink{bacula-dir.conf}{confaddprefix}. \begin{verbatim} Parameters to modify: @@ -651,20 +656,20 @@ Select parameter to modify (1-6): \subsection{RegexWhere format} The format is very close to that used by sed or Perl (\texttt{s/replace this/by - that/}) operator. A valid regexwhere expression have 3 fields : + that/}) operator. A valid regexwhere expression has three fields : \begin{itemize} \item a search expression (with optionnal submatch) -\item a replacement expression (with optionnal backreferences \$1 to \$9) +\item a replacement expression (with optionnal back references \$1 to \$9) \item a set of search options (only case-insensitive ``i'' at this time) \end{itemize} -Each fields is delimited by a separator chosen by the user at the beginning -expression. The separator can be : +Each field is delimited by a separator specified by the user as the first +character of the expression. The separator can be one of the following: \begin{verbatim} = / ! ; % : , ~ # = & \end{verbatim} -You can use several expressions separated by a comma. +You can use several expressions separated by a commas. \subsection*{Examples} @@ -709,12 +714,14 @@ encounter, and for same machine restores, how to avoid them. does the best it can in these situations. Note, Bacula has saved the user/groups in numeric form, which means on a different machine, they may map to different user/group names. + \item You are restoring into a directory that is already created and has file creation restrictions. Bacula tries to reset everything but without walking up the full chain of directories and modifying them all during the restore, which Bacula does and will not do, getting permissions back correctly in this situation depends to a large extent on your OS. + \item You are doing a recursive restore of a directory tree. In this case Bacula will restore a file before restoring the file's parent directory entry. In the process of restoring the file Bacula will create the @@ -729,6 +736,7 @@ encounter, and for same machine restores, how to avoid them. Directory's ownership and permissions to match what it backed up, also the actual number of files restored should be equal to the expected number. + \item You selected one or more files in a directory, but did not select the directory entry to be restored. In that case, if the directory is not on disk Bacula simply creates the directory with some default attributes diff --git a/docs/manual/tapetesting.tex b/docs/manual/tapetesting.tex index d5d817eb..8e451ee6 100644 --- a/docs/manual/tapetesting.tex +++ b/docs/manual/tapetesting.tex @@ -36,9 +36,14 @@ one. \end{verbatim} \normalsize -\item Make sure you have a valid and correct Device resource corresponding to - your drive. For Linux users, generally, the default one works. For FreeBSD - users, there are two possible Device configurations (see below). +\item Make sure you have a valid and correct Device resource corresponding + to your drive. For Linux users, generally, the default one works. For + FreeBSD users, there are two possible Device configurations (see below). + For other drives and/or OSes, you will need to first ensure that your + system tape modes are properly setup (see below), then possibly modify + you Device resource depending on the output from the btape program (next + item). When doing this, you should consult the \ilink{Storage Daemon + Configuration}{StoredConfChapter} of this manual. \item Run the btape {\bf test} command: diff --git a/docs/manual/version.tex b/docs/manual/version.tex index a0ba9b3f..2731cf8a 100644 --- a/docs/manual/version.tex +++ b/docs/manual/version.tex @@ -1 +1 @@ -2.1.8 (02 May 2007) +2.1.8 (08 May 2007)