From 770b226aba2e10ef45d6e17430c0fa68acc49813 Mon Sep 17 00:00:00 2001 From: Kern Sibbald Date: Sun, 14 May 2017 15:30:50 +0200 Subject: [PATCH] Updates to the New Features chapter --- docs/images/hires/tray-icon.eps | 2 +- docs/images/hires/tray-monitor.eps | 2 +- docs/images/hires/tray-monitor1.eps | 2 +- docs/images/tray-monitor1.png | Bin 77897 -> 22785 bytes docs/latex/external-references.tex | 1 + docs/manuals/bacula.sty | 45 +- docs/manuals/bacula.sty.in | 43 ++ docs/manuals/en/main/main.tex | 3 +- docs/manuals/en/main/newfeatures.tex | 925 ++++++++++++++++++++++++--- docs/manuals/en/pattern-to-handle | 7 +- docs/manuals/version.tex | 2 +- 11 files changed, 942 insertions(+), 90 deletions(-) diff --git a/docs/images/hires/tray-icon.eps b/docs/images/hires/tray-icon.eps index 1fc04643..b3469ecc 100644 --- a/docs/images/hires/tray-icon.eps +++ b/docs/images/hires/tray-icon.eps @@ -1,7 +1,7 @@ %!PS-Adobe-3.0 EPSF-3.0 %%Creator: (ImageMagick) %%Title: (hires/tray-icon.eps) -%%CreationDate: (2014-03-23T15:15:05+01:00) +%%CreationDate: (2013-03-01T11:20:31+01:00) %%BoundingBox: -0 -0 55 18 %%HiResBoundingBox: 0 0 54.5143 18 %%DocumentData: Clean7Bit diff --git a/docs/images/hires/tray-monitor.eps b/docs/images/hires/tray-monitor.eps index b92e50b0..05c29c6f 100644 --- a/docs/images/hires/tray-monitor.eps +++ b/docs/images/hires/tray-monitor.eps @@ -1,7 +1,7 @@ %!PS-Adobe-3.0 EPSF-3.0 %%Creator: (ImageMagick) %%Title: (hires/tray-monitor.eps) -%%CreationDate: (2014-03-23T15:15:02+01:00) +%%CreationDate: (2013-03-01T11:20:24+01:00) %%BoundingBox: -0 -0 142 112 %%HiResBoundingBox: 0 0 141.732 112 %%DocumentData: Clean7Bit diff --git a/docs/images/hires/tray-monitor1.eps b/docs/images/hires/tray-monitor1.eps index f44fa182..0bd4bbd2 100644 --- a/docs/images/hires/tray-monitor1.eps +++ b/docs/images/hires/tray-monitor1.eps @@ -1,7 +1,7 @@ %!PS-Adobe-3.0 EPSF-3.0 %%Creator: (ImageMagick) %%Title: (hires/tray-monitor1.eps) -%%CreationDate: (2014-03-23T15:15:02+01:00) +%%CreationDate: (2013-03-01T11:20:24+01:00) %%BoundingBox: -0 -0 142 104 %%HiResBoundingBox: 0 0 141.53 104 %%DocumentData: Clean7Bit diff --git a/docs/images/tray-monitor1.png b/docs/images/tray-monitor1.png index 7c697a78326ac72b171de4b630fade604a499caa..14d12703bc3cc36dedd2513062cd77c3d2009480 100644 GIT binary patch literal 22785 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 T7U7TJ1}tzRbHfVQ&4_;jadI8W literal 77897 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 diff --git a/docs/latex/external-references.tex b/docs/latex/external-references.tex index 3c69789d..ee7113e7 100644 --- a/docs/latex/external-references.tex +++ b/docs/latex/external-references.tex @@ -61,6 +61,7 @@ \externaldocument[main-]{../main/requirements} \externaldocument[main-]{../main/catmaintenance} \externaldocument[main-]{../main/sqlite} +\externaldocument[main-]{../main/xnewfeatures} \externaldocument[main-]{../main/messagesres} \externaldocument[main-]{../main/storedconf} \externaldocument[main-]{../main/quickstart} diff --git a/docs/manuals/bacula.sty b/docs/manuals/bacula.sty index e154b0c1..69310557 100644 --- a/docs/manuals/bacula.sty +++ b/docs/manuals/bacula.sty @@ -79,7 +79,50 @@ \pdfminorversion=4 -\def\version{7.4.8} +%%% +%%% Include a graphic, horizontally +%%% Parameters: +%%% #1: image filename, witout extension +%%% #2: Caption +%%% +%%% A label is automatically added. The name +%%% bsysimg-image_filename +\newcommand*{\bsysimageN}[3]{ + \begin{figure}[htpb] + \begin{center} + \includegraphics{#1} + \caption{#2}\ifthenelse{\equal{#3}{}}{\label{bsysimg-#1}}{\label{#3}} + \end{center} + \end{figure} +} +\newcommand*{\bsysimageH}[3]{ + \begin{figure}[htpb] + \begin{center} + \includegraphics[width=0.95\linewidth]{#1} + \caption{#2}\ifthenelse{\equal{#3}{}}{\label{bsysimg-#1}}{\label{#3}} + \end{center} + \end{figure} +} +%%% +%%% Include a graphic, vertically +%%% Parameters: +%%% #1: image filename, witout extension +%%% #2: Caption +%%% +%%% A label is automatically added. The name +%%% bsysimg-image_filename +\newcommand*{\bsysimageV}[3]{ + \begin{figure}[htpb] + \begin{center} + \includegraphics[height=0.95\linewidth]{#1} + \caption{#2}\ifthenelse{\equal{#3}{}}{\label{bsysimg-#1}}{\label{#3}} + \end{center} + \end{figure} +} +%%% + + +\def\version{7.9.0} %% diff --git a/docs/manuals/bacula.sty.in b/docs/manuals/bacula.sty.in index ef97379f..4c3c1a3a 100644 --- a/docs/manuals/bacula.sty.in +++ b/docs/manuals/bacula.sty.in @@ -79,6 +79,49 @@ \pdfminorversion=4 +%%% +%%% Include a graphic, horizontally +%%% Parameters: +%%% #1: image filename, witout extension +%%% #2: Caption +%%% +%%% A label is automatically added. The name +%%% bsysimg-image_filename +\newcommand*{\bsysimageN}[3]{ + \begin{figure}[htpb] + \begin{center} + \includegraphics{#1} + \caption{#2}\ifthenelse{\equal{#3}{}}{\label{bsysimg-#1}}{\label{#3}} + \end{center} + \end{figure} +} +\newcommand*{\bsysimageH}[3]{ + \begin{figure}[htpb] + \begin{center} + \includegraphics[width=0.95\linewidth]{#1} + \caption{#2}\ifthenelse{\equal{#3}{}}{\label{bsysimg-#1}}{\label{#3}} + \end{center} + \end{figure} +} +%%% +%%% Include a graphic, vertically +%%% Parameters: +%%% #1: image filename, witout extension +%%% #2: Caption +%%% +%%% A label is automatically added. The name +%%% bsysimg-image_filename +\newcommand*{\bsysimageV}[3]{ + \begin{figure}[htpb] + \begin{center} + \includegraphics[height=0.95\linewidth]{#1} + \caption{#2}\ifthenelse{\equal{#3}{}}{\label{bsysimg-#1}}{\label{#3}} + \end{center} + \end{figure} +} +%%% + + \def\version{@VERSION@} diff --git a/docs/manuals/en/main/main.tex b/docs/manuals/en/main/main.tex index 698cd8bf..fbef017e 100644 --- a/docs/manuals/en/main/main.tex +++ b/docs/manuals/en/main/main.tex @@ -19,7 +19,8 @@ \usepackage{float} \usepackage{graphicx} \usepackage{bacula} -\usepackage{longtable} +\usepackage{longtable,graphicx,fancyhdr,lastpage,eurosym,dcolumn,ltxtable,textcomp,varioref, +lscape,pdfpages,ifthen,setspace,colortbl,diagbox} \usepackage{makeidx} \usepackage{index} \usepackage{setspace} diff --git a/docs/manuals/en/main/newfeatures.tex b/docs/manuals/en/main/newfeatures.tex index 7cb823c6..ccad286c 100644 --- a/docs/manuals/en/main/newfeatures.tex +++ b/docs/manuals/en/main/newfeatures.tex @@ -1,3 +1,847 @@ +\chapter{New Features in 9.0.0} +\subsection{Maximum Virtual Full Interval Option} +Two new director directives have been added: + +\begin{verbatim} + Max Virtual Full Interval +and + Virtual Full Backup Pool +\end(verbatime) + +The {\bf Max Virtual Full Interval} directive should behave similar to the +{\bf Max Full Interval}, but for Virtual Full jobs. If Bacula sees that +there has not been a Full backup in Max Virtual Full Interval time then it +will upgrade the job to Virtual Full. If you have both {\bf Max Full +Interval} and {\bf Max Virtual Full Interval} set then Max Full Interval +should take precedence. + +The {\bf Virtual Full Backup Pool} directive allows one to change the pool +as well. You probably want to use these two directives in +conjunction with each other but that may depend on the specifics of one's +setup. If you set the {\bf Max Full Interval} without setting {\bf Max +Virtual Full Interval} then Bacula will use whatever the "default" pool is +set to which is the same behavior as with the Max Full Interval. + +\subsection{Progressive Virtual Full} + +In Bacula version 9.0.0, we have added a new Directive named {\bf Backups To Keep} that +permits you to implement Progressive Virtual Fulls within Bacula. Sometimes +this feature is known as Incremental Forever with Consolidation. + +\smallskip + +\begin{figure}[htbp] + \centering + \includegraphics[width=.8\linewidth]{pvf-slidingbackups} + \caption{Backup Sequence Slides Forward One Day, Each Day} + \label{fig:slidingbackups} +\end{figure} + +To implement this the Progressive Virtual Full feature, you add the +{\bf Backups To Keep} directive to your Job resource. The value +specified on the directive indicates the number of backup jobs that should +not be merged into the Virtual Full. The default is zero and behaves the +same way the prior script {\bf pvf} worked. + +\subsubsection{Backups To Keep Directive} +The new {\bf BackupsToKeep} directive is specified in the Job Resource and +has the form: + +\begin{verbatim} + Backups To Keep = 30 +\end{verbatim} + +where the value (30 in the above figure and example) is the number of +backups to retain. When this directive is present during a Virtual Full +(it is ignored for other Job types), it will look for a Full backup that +has more subsequent backups than the value specified. In the above example +the Job will simply terminate unless there is a Full back followed by at +least 31 backups of either level Differential or Incremental. + +\smallskip +Assuming that the last Full backup is followed by 32 Incremental backups, a +Virtual Full will be run that consolidates the Full with the first two +Incrementals that were run after the Full. The result is that you will end +up with a Full followed by 30 Incremental backups. The Job Resource +in {\bf bacula-dir.conf} to accomplish this would be: + +\begin{verbatim} + Job { + Name = "VFull" + Type = Backup + Level = VirtualFull + Client = "my-fd" + File Set = "FullSet" + Accurate = Yes + Backups To Keep = 10 + } +\end{verbatim} + +\subsubsection{Delete Consolidated Jobs} +The new directive {\bf Delete Consolidated Jobs} expects a {\bf yes} +or {\bf no} value that if set to {\bf yes} will cause any old Job that is +consolidated during a Virtual Full to be deleted. In the example above +we saw that a Full plus one other job (either an Incremental or +Differential) were consolidated into a new Full backup. The original Full +plus the other Job consolidated will be deleted. The default value is +{\bf no}. + +\subsubsection{Virtual Full Compatibility} +Virtual Full as well as Progressive Virtual Full works with any +standard backup Job. + +\smallskip +However, it should be noted that Virtual Full jobs are not compatible with +any plugins that you may be using. + +\subsection{TapeAlert Enhancements} +There are some significant enhancements to the TapeAlert feature of Bacula. +Several directives are used slightly differently, and there is a minor +compatibility problem with the old TapeAlert implementation. + +\subsubsection{What is New} +First, you must define a \textbf{Alert Command} directive in the Device +resource that calls the new \textbf{tapealert} script that is installed in +the scripts directory (normally: /opt/bacula/scripts). It is defined as +follows: + +\begin{verbatim} +Device { + Name = ... + Archive Device = /dev/nst0 + Alert Command = "/opt/bacula/scripts/tapealert %l" + Control Device = /dev/sg1 # must be SCSI ctl for /dev/nst0 + ... +} +\end{verbatim} + +The \textbf{Control Device} directive in the Storage Daemon's conf file was +previously used only for the SAN Shared Storage feature. With Bacula +version 8.8, it is also used for the TapeAlert command to permit Bacula to +detect tape alerts on a specific device (normally only tape devices). + +Once the above mentioned two directives (Alert Command and Control Device) +are in place in each of your Device resources, Bacula will check for tape +alerts at two points: + +\begin{itemize} +\item After the Drive is used and it becomes idle. +\item After each read or write error on the drive. +\end{itemize} + +At each of the above times, Bacula will call the new \textbf{tapealert} +script, which uses the \textbf{tapeinfo} program. The tapeinfo utility is +part of the apt sg3-utils and rpm sg3\_utils packages. Then for each tape +alert that Bacula finds for that drive, it will emit a Job message that is +either INFO, WARNING, or FATAL depending on the designation in the Tape +Alert published by the T10 Technical Committee on SCSI Storage Interfaces +(www.t10.org). For the specification, please see: +www.t10.org/ftp/t10/document.02/02-142r0.pdf + +\smallskip +As a somewhat extreme example, if tape alerts 3, 5, and 39 are set, you +will get the following output in your backup job. + +{\small + \begin{verbatim} + 17-Nov 13:37 rufus-sd JobId 1: Error: block.c:287 + Write error at 0:17 on device "tape" + (/home/kern/bacula/k/regress/working/ach/drive0) + Vol=TestVolume001. ERR=Input/output error. + + 17-Nov 13:37 rufus-sd JobId 1: Fatal error: Alert: + Volume="TestVolume001" alert=3: ERR=The operation has stopped because + an error has occurred while reading or writing data which the drive + cannot correct. The drive had a hard read or write error + + 17-Nov 13:37 rufus-sd JobId 1: Fatal error: Alert: + Volume="TestVolume001" alert=5: ERR=The tape is damaged or the drive + is faulty. Call the tape drive supplier helpline. The drive can no + longer read data from the tape + + 17-Nov 13:37 rufus-sd JobId 1: Warning: Disabled Device "tape" + (/home/kern/bacula/k/regress/working/ach/drive0) due to tape alert=39. + + 17-Nov 13:37 rufus-sd JobId 1: Warning: Alert: Volume="TestVolume001" + alert=39: ERR=The tape drive may have a fault. Check for availability + of diagnostic information and run extended diagnostics if applicable. + The drive may have had a failure which may be identified by stored + diagnostic information or by running extended diagnostics (eg Send + Diagnostic). Check the tape drive users manual for instructions on + running extended diagnostic tests and retrieving diagnostic data. + + \end{verbatim} +} + +Without the tape alert feature enabled, you would only get the first error +message above, which is the error return Bacula received when it gets the +error. Notice also, that in this case the alert number 5 is a critical +error, which causes two things to happen. First the tape drive is disabled, +and second the Job is failed. + +\smallskip +If you attempt to run another Job using +the Device that has been disabled, you will get a message similar to the +following: + +\begin{verbatim} +17-Nov 15:08 rufus-sd JobId 2: Warning: + Device "tape" requested by DIR is disabled. +\end{verbatim} + +and the Job may be failed if no other drive can be found. +\smallskip +Once the problem with the tape drive has been corrected, you can +clear the tape alerts and re-enable the device with the Bacula bconsole +command such as the following: + +\begin{verbatim} + enable Storage=Tape +\end{verbatim} + +Note, when you enable the device, the list of prior tape alerts for that +drive will be discarded. + + +\smallskip +Since is is possible to miss tape alerts, Bacula maintains a temporary list +of the last 8 alerts, and each time Bacula calls the \textbf{tapealert} +script, it will keep up to 10 alert status codes. Normally there will only +be one or two alert errors for each call to the tapealert script. + +\smallskip +Once a drive has one or more tape alerts, you can see them by using the +bconsole status command as follows: +\begin{verbatim} +status storage=Tape +\end{verbatim} +which produces the following output: +\begin{verbatim} +Device Vtape is "tape" (/home/kern/bacula/k/regress/working/ach/drive0) +mounted with: + Volume: TestVolume001 + Pool: Default + Media type: tape + Device is disabled. User command. + Total Bytes Read=0 Blocks Read=1 Bytes/block=0 + Positioned at File=1 Block=0 + Critical Alert: at 17-Nov-2016 15:08:01 Volume="TestVolume001" + alert=Hard Error + Critical Alert: at 17-Nov-2016 15:08:01 Volume="TestVolume001" + alert=Read Failure + Warning Alert: at 17-Nov-2016 15:08:01 Volume="TestVolume001" + alert=Diagnostics Required +\end{verbatim} +if you want to see the long message associated with each of the alerts, +simply set the debug level to 10 or more and re-issue the status command: +\begin{verbatim} +setdebug storage=Tape level=10 +status storage=Tape +\end{verbatim} +\begin{verbatim} + ... + Critical Alert: at 17-Nov-2016 15:08:01 Volume="TestVolume001" + flags=0x0 alert=The operation has stopped because an error has occurred + while reading or writing data which the drive cannot correct. The drive had + a hard read or write error + Critical Alert: at 17-Nov-2016 15:08:01 Volume="TestVolume001" + flags=0x0 alert=The tape is damaged or the drive is faulty. Call the tape + drive supplier helpline. The drive can no longer read data from the tape + Warning Alert: at 17-Nov-2016 15:08:01 Volume="TestVolume001" flags=0x1 + alert=The tape drive may have a fault. Check for availability of diagnostic + information and run extended diagnostics if applicable. The drive may + have had a failure which may be identified by stored diagnostic information + or by running extended diagnostics (eg Send Diagnostic). Check the tape + drive users manual for instructions on running extended diagnostic tests + and retrieving diagnostic data. + ... +\end{verbatim} +The next time you \textbf{enable} the Device by either using +\textbf{bconsole} or you restart the Storage Daemon, all the saved alert +messages will be discarded. + +\subsubsection{Handling of Alerts} +Tape Alerts numbered 7,8,13,14,20,22,52,53, and 54 will cause Bacula to +disable the current Volume. + +\smallskip +Tape Alerts numbered 14,20,29,30,31,38, and 39 will cause Bacula to disable +the drive. + +\smallskip +Please note certain tape alerts such as 14 have multiple effects (disable +the Volume and disable the drive). + +\subsection{New Console ACL Directives} +By default, if a Console ACL directive is not set, Bacula will assume that the +ACL list is empty. If the current Bacula Director configuration uses restricted +Consoles and allows restore jobs, it is mandatory to configure the new +directives. + +\subsubsection{DirectoryACL} +\index[dir]{Directive!DirectoryACL} + +This directive is used to specify a list of directories that can be accessed by +a restore session. Without this directive, the console cannot restore any +file. Multiple directories names may be specified by separating them with +commas, and/or by specifying multiple DirectoryACL directives. For example, +the directive may be specified as: + +\footnotesize +\begin{verbatim} + DirectoryACL = /home/bacula/, "/etc/", "/home/test/*" +\end{verbatim} +\normalsize + +With the above specification, the console can access the following directories: +\begin{itemize} +\item \texttt{/etc/password} +\item \texttt{/etc/group} +\item \texttt{/home/bacula/.bashrc} +\item \texttt{/home/test/.ssh/config} +\item \texttt{/home/test/Desktop/Images/something.png} +\end{itemize} + +But not to the following files or directories: +\begin{itemize} +\item \texttt{/etc/security/limits.conf} +\item \texttt{/home/bacula/.ssh/id\_dsa.pub} +\item \texttt{/home/guest/something} +\item \texttt{/usr/bin/make} +\end{itemize} + +If a directory starts with a Windows pattern (ex: c:/), Bacula will +automatically ignore the case when checking directories. + +\subsection{New Bconsole ``list'' Command Behavior} + +The bconsole \texttt{list} commands can now be used safely from a +restricted bconsole session. The information displayed will respect the +ACL configured for the Console session. For example, if a Console has +access to JobA, JobB and JobC, information about JobD will not appear in +the \texttt{list jobs} command. + +\subsection{New Console ACL Directives} +\index[dir]{Directive!BackupClientACL} +It is now possible to configure a restricted Console to distinguish Backup +and Restore jobs permissions. The \texttt{BackupClientACL} can restrict +backup jobs on a specific set of clients, while the +\texttt{RestoreClientACL} can restrict restore jobs. + +{\small +\begin{verbatim} +# cat /opt/bacula/etc/bacula-dir.conf +... + +Console { + Name = fd-cons # Name of the FD Console + Password = yyy +... + ClientACL = localhost-fd # everything allowed + RestoreClientACL = test-fd # restore only + BackupClientACL = production-fd # backup only +} +\end{verbatim} +} + +The \texttt{ClientACL} directive takes precedence over the +\texttt{RestoreClientACL} and the \texttt{BackupClientACL}. In the Console +resource resource above, it means that the bconsole linked to the Console{} +named "fd-cons" will be able to run: + +\begin{itemize} +\item backup and restore for ``localhost-fd'' +\item backup for ``production-fd'' +\item restore for ``test-fd'' +\end{itemize} + +At the restore time, jobs for client ``localhost-fd'', ``test-fd'' and +``production-fd'' will be available. + +If \texttt{*all*} is set for \texttt{ClientACL}, backup and restore will be +allowed for all clients, despite the use of \texttt{RestoreClientACL} or +\texttt{"BackupClientACL}. + +\subsection{Client Initiated Backup} +\label{sec:featurecib} +A console program such as the new \texttt{tray-monitor} or +\texttt{bconsole} can now be configured to connect a File Daemon. There +are many new features available (see the New Tray Monitor section below), +but probably the most important is the ability for the user to initiate a +backup of his own machine. The connection established by the FD to the +Director for the backup can be used by the Director for the backup, thus +not only can clients (users) initiate backups, but a File Daemon that is +NATed (cannot be reached by the Director) can now be backed up without +using advanced tunneling techniques. + +\smallskip +The flow of information is shown in the picture below: +\bsysimageH{nat}{Client Initiated Backup Network Flow}{fig:nat3} + +\newpage +\subsection{Configuring Client Initiated Backup} +\smallskip +In order to ensure security, there are a number of new directives +that must be enabled in the new \texttt{tray-monitor}, the File +Daemon and in the Director. +A typical configuration might look like the following: + +{\small +\begin{verbatim} +# cat /opt/bacula/etc/bacula-dir.conf +... + +Console { + Name = fd-cons # Name of the FD Console + Password = yyy + + # These commands are used by the tray-monitor, it is possible to restrict + CommandACL = run, restore, wait, .status, .jobs, .clients + CommandACL = .storages, .pools, .filesets, .defaults, .estimate + + # Adapt for your needs + jobacl = *all* + poolacl = *all* + clientacl = *all* + storageacl = *all* + catalogacl = *all* + filesetacl = *all* +} +\end{verbatim} +} + +{\small +\begin{verbatim} +# cat /opt/bacula/etc/bacula-fd.conf +... + +Console { # Console to connect the Director + Name = fd-cons + DIRPort = 9101 + address = localhost + Password = "yyy" +} + +Director { + Name = remote-cons # Name of the tray monitor/bconsole + Password = "xxx" # Password of the tray monitor/bconsole + Remote = yes # Allow to use send commands to the Console defined +} +\end{verbatim} +} + +{\small +\begin{verbatim} +cat /opt/bacula/etc/bconsole-remote.conf +.... + +Director { + Name = localhost-fd + address = localhost # Specify the FD address + DIRport = 9102 # Specify the FD Port + Password = "notused" +} + +Console { + Name = remote-cons # Name used in the auth process + Password = "xxx" +} +\end{verbatim} +} + +{\small +\begin{verbatim} +cat ~/.bacula-tray-monitor.conf +Monitor { + Name = remote-cons +} + +Client { + Name = localhost-fd + address = localhost # Specify the FD address + Port = 9102 # Specify the FD Port + Password = "xxx" + Remote = yes +} +\end{verbatim} +} + +\bsysimageH{conf-nat}{Relation Between Resources (bconsole)}{fig:nat} +\bsysimageH{conf-nat2}{Relation Between Resources (tray-monitor)}{fig:nat2} + +\medskip +A more detailed description with complete examples is available in +chapter~\ref{TrayMonitorChapter}. + +\subsection{New Tray Monitor} + +A new tray monitor has been added to the 9.0 release, the tray monitor offers +the following features: + +\begin{itemize} +\item Director, File and Storage Daemon status page +\item Support for the Client Initiated Backup protocol (See + \vref{sec:featurecib}). To use the Client Initiated Backup option from the + tray monitor, the Client option ``Remote'' should be checked in the + configuration (Fig \vref{fig:tray2}). +\item Wizard to run new job (Fig \vref{fig:tray4}) +\item Display an estimation of the number of files and the size of the next + backup job (Fig \vref{fig:tray4}) +\item Ability to configure the tray monitor configuration file directly from + the GUI (Fig \vref{fig:tray2}) +\item Ability to monitor a component and adapt the tray monitor task bar icon + if a jobs are running. +\item TLS Support +\item Better network connection handling +\item Default configuration file is stored under \texttt{\$HOME/.bacula-tray-monitor.conf} +\item Ability to ``schedule'' jobs +\item Available on Linux and Windows platforms +\end{itemize} + +% \medskip +% Please see chapter \ref{TrayMonitorChapter} for more details about this new +% functionality. + + +\begin{figure}[htbp] + \centering + \includegraphics[width=0.8\linewidth]{tray-monitor-status} + \caption{Tray Monitor Status} + \label{fig:tray0} +\end{figure} + +\begin{figure}[htbp] + \centering + \includegraphics[width=0.9\linewidth]{tray-monitor-conf-fd} + \caption{Tray Monitor Client Configuration} + \label{fig:tray2} +\end{figure} + +\begin{figure}[htbp] + \centering + \includegraphics[width=0.8\linewidth]{tray-monitor-run1} + \smallskip + \includegraphics[width=0.8\linewidth]{tray-monitor-run2} + \caption{Tray Monitor Run a Job} + \label{fig:tray4} +\end{figure} + +\subsection{Schedule Jobs via the Tray Monitor} + +The Tray Monitor can scan periodically a specific directory ``Command +Directory'' and process ``*.bcmd'' files to find jobs to run. + +The format of the ``file.bcmd'' command file is the following: +\begin{verbatim} +: +: +... + + = string + = string (bconsole command line) +\end{verbatim} + +For example: +\begin{verbatim} +localhost-fd: run job=backup-localhost-fd level=full +localhost-dir: run job=BackupCatalog +\end{verbatim} + +The command file should contain at least one command. The component specified +in the first part of the command line should be defined in the tray +monitor. Once the command file is detected by the tray monitor, a popup is +displayed to the user and it is possible for the user to cancel the job directly. + +\smallskip{} + +The file can be created with tools such as ``cron'' or the ``task scheduler'' +on Windows. It is possible to verify the network connection at that time to +avoid network errors. + +\begin{verbatim} +#!/bin/sh +if ping -c 1 director &> /dev/null +then + echo "my-dir: run job=backup" > /path/to/commands/backup.bcmd +fi +\end{verbatim} + +%\bsysimageH{tray-monitor-status}{Tray Monitor Status}{fig:tray0} +%\bsysimageH{tray-monitor1}{Tray Monitor Configuration}{fig:tray1} +%\bsysimageH{tray-monitor-conf-fd}{Tray Monitor Client Configuration}{fig:tray2} +%\bsysimageH{tray-monitor-conf-dir}{Tray Monitor Director Configuration}{fig:tray3} +%\bsysimageH{tray-monitor-run1}{Tray Monitor Run new Job}{fig:tray4} +% find a way to group them together +%\bsysimageH{tray-monitor-run2}{Tray Monitor Setup new Job}{fig:tray5} + + +\subsection{Accurate Option for Verify ``Volume Data'' Job} + +Since Bacula version 8.4.1, it has been possible to have a Verify Job +configured with \texttt{level=Data} that will reread all records from a job +and optionally check the size and the checksum of all files. Starting with + +\smallskip +Bacula version 9.0, it is now possible to use the \texttt{accurate} option to check +catalog records at the same time. When using a Verify job with +\texttt{level=Data} and \texttt{accurate=yes} can replace the +\texttt{level=VolumeToCatalog} option. + +For more information on how to setup a Verify Data job, see +\vref{label:verifyvolumedata}. + +To run a Verify Job with the \texttt{accurate} option, it is possible to set +the option in the Job definition or set use the \texttt{accurate=yes} on the +command line. + +\begin{verbatim} +* run job=VerifyData jobid=10 accurate=yes +\end{verbatim} + +\subsection{FileDaemon Saved Messages Resource Destination} + +It is now possible to send the list of all saved files to a Messages +resource with the \texttt{saved} message type. It is not recommended to +send this flow of information to the director and/or the catalog when the +client FileSet is pretty large. To avoid side effects, the \texttt{all} +keyword doesn't include the \texttt{saved} message type. The +\texttt{saved} message type should be explicitely set. + +\begin{verbatim} +# cat /opt/bacula/etc/bacula-fd.conf +... +Messages { + Name = Standard + director = mydirector-dir = all, !terminate, !restored, !saved + append = /opt/bacula/working/bacula-fd.log = all, saved, restored +} +\end{verbatim} + +\subsection{Minor Enhancements} + +\subsubsection{New Bconsole ".estimate" Command} + +The new \texttt{.estimate} command can be used to get statistics about a +job to run. The command uses the database to approximate the size and the +number of files of the next job. On a PostgreSQL database, the command +uses regression slope to compute values. On SQLite or MySQL, where these +statistical functions are not available, the command uses a simple +``average'' estimation. The correlation number is given for each value. + +{\small +\begin{verbatim} +*.estimate job=backup +level=I +nbjob=0 +corrbytes=0 +jobbytes=0 +corrfiles=0 +jobfiles=0 +duration=0 +job=backup + +*.estimate job=backup level=F +level=F +nbjob=1 +corrbytes=0 +jobbytes=210937774 +corrfiles=0 +jobfiles=2545 +duration=0 +job=backup +\end{verbatim} +} + +\subsubsection{Traceback and Lockdump} + +After the reception of a signal, \texttt{traceback} and \texttt{lockdump} +information are now stored in the same file. + +\subsection{Bconsole ``list jobs'' command options} + +The \texttt{list jobs} bconsole command now accepts new command line options: + +\begin{itemize} +\item \textbf{joberrors} Display jobs with JobErrors +\item \textbf{jobstatus=T} Display jobs with the specified status code +\item \textbf{client=cli} Display jobs for a specified client +\item \textbf{order=asc/desc} Change the output format of the job list. The + jobs are sorted by start time and JobId, the sort can use ascendant (asc) or + descendant (desc) (default) value. +\end{itemize} + +\subsection{Minor Enhancements} + +\subsubsection{New Bconsole "Tee All" Command} + +The ``@tall'' command allows logging all input/output from a console session. + +\begin{verbatim} +*@tall /tmp/log +*st dir +... +\end{verbatim} + +\subsection{Bconsole ``list jobs'' command options} + +The \texttt{list jobs} bconsole command now accepts new command line options: + +\begin{itemize} +\item \textbf{joberrors} Display jobs with JobErrors +\item \textbf{jobstatus=T} Display jobs with the specified status code +\item \textbf{client=cli} Display jobs for a specified client +\item \textbf{order=asc/desc} Change the output format of the job list. The + jobs are sorted by start time and JobId, the sort can use ascendant (asc) or + descendant (desc) (default) value. +\end{itemize} + +\subsection{New Bconsole "Tee All" Command} + +The ``@tall'' command allows logging all input/output from a console session. + +\begin{verbatim} +*@tall /tmp/log +*st dir +... +\end{verbatim} + +\subsection{New Job Edit Codes \%I} +In various places such as RunScripts, you have now access to \%I to get the +JobId of the copy or migration job started by a migrate job. + +\begin{verbatim} +Job { + Name = Migrate-Job + Type = Migrate + ... + RunAfter = "echo New JobId is %I" +} +\end{verbatim} + + +\subsection*{.api version 2} + +In Bacula version 9.0 and later, we introduced a new .api version +to help external tools to parse various Bacula bconsole output. + +% waa - 20150317 - this section needs just a little more to explain what the "43" in "s43" mean. Perhaps +% if it is not a good place to list the possibilities here, then list where a reference +% is. Also, I think .api 2 ... Means "use API version 2" but that should be stated too + +The \texttt{api\_opts} option can use the following arguments: +\begin{itemize} +\item [C] Clear current options +\item [tn] Use a specific time format (1 ISO format, 2 Unix Timestamp, 3 Default Bacula time format) +\item [sn] Use a specific separator between items (new line by default). +\item [Sn] Use a specific separator between objects (new line by default). +\item [o] Convert all keywords to lowercase and convert all non \textsl{isalpha} characters to \_ +\end{itemize} + +% waa - 20150317 - I think there should either be more output listed here to give a better feeling +% or, perhaps another output listing for different .status commands + +\begin{verbatim} + .api 2 api_opts=t1s43S35 + .status dir running +================================== +jobid=10 +job=AJob +... +\end{verbatim} + +\subsection*{New Debug Options} + +In Bacula version 9.0 and later, we introduced a new \texttt{options} parameter for +the \texttt{setdebug} bconsole command. + +\smallskip{} + +The following arguments to the new \texttt{option} parameter are available to control debug functions. + +\begin{itemize} +\item [0] Clear debug flags +\item [i] Turn off, ignore bwrite() errors on restore on File Daemon +\item [d] Turn off decomp of BackupRead() streams on File Daemon +\item [t] Turn on timestamps in traces +\item [T] Turn off timestamps in traces + +% waa - 20150306 - does this "c" item mean to say "Truncate trace file if one exists, otherwise append to it" ??? +\item [c] Truncate trace file if trace file is activated + +\item [l] Turn on recoding events on P() and V() +\item [p] Turn on the display of the event ring when doing a bactrace +\end{itemize} + +\smallskip{} + +The following command will enable debugging for the File Daemon, truncate an existing trace file, +and turn on timestamps when writing to the trace file. + +\begin{verbatim} +* setdebug level=10 trace=1 options=ct fd +\end{verbatim} + +\smallskip{} + +It is now possible to use a \textsl{class} of debug messages called \texttt{tags} +to control the debug output of Bacula daemons. + +\begin{itemize} +\item [all] Display all debug messages +\item [bvfs] Display BVFS debug messages +\item [sql] Display SQL related debug messages +\item [memory] Display memory and poolmem allocation messages +\item [scheduler] Display scheduler related debug messages +\end{itemize} + +\begin{verbatim} +* setdebug level=10 tags=bvfs,sql,memory +* setdebug level=10 tags=!bvfs + +# bacula-dir -t -d 200,bvfs,sql +\end{verbatim} + +The \texttt{tags} option is composed of a list of tags. Tags are separated by +``,'' or ``+'' or ``-'' or ``!''. To disable a specific tag, use ``-'' or ``!'' +in front of the tag. Note that more tags are planned for future versions. + +%\LTXtable{\linewidth}{table_debugtags} + +\subsection{Communication Line Compression} +Bacula version 9.0.0 and later now includes communication +line compression. It is turned on by default, and if the +two Bacula components (Dir, FD, SD, bconsole) are both +version 6.6.0 or greater, communication line compression) +will be enabled, by default. If for some reason, you do not want +communication line compression, you may disable it with the +following directive: + +\begin{verbatim} +Comm Compression = no +\end{verbatim} + +This directive can appear in the following resources: +\begin{verbatim} +bacula-dir.conf: Director resource +bacula-fd.conf Client (or FileDaemon) resource +bacula-sd.conf: Storage resource +bconsole.conf: Console resource +bat.conf: Console resource +\end{verbatim} + +\smallskip +In many cases, the volume of data transmitted across the +communications line can be reduced by a factor of three when +this directive is enabled (default) In the case that the compression is not +effective, Bacula turns it off on a. record by record basis. + +\smallskip +If you are backing up data that is already compressed the comm line +compression will not be effective, and you are likely +to end up with an average compression ratio that is very small. +In this case, Bacula reports {\bf None} in the Job report. + + \chapter{New Features in 7.4.0} This chapter presents the new features that have been added to the various versions of Bacula. @@ -32,6 +876,7 @@ if you run a console command that requires a response, the results are not determined (i.e. it will probably fail). + \section{New Features in 7.4.0} \subsection{Verify Volume Data} @@ -350,8 +1195,6 @@ Job { \smallskip{} - - In RunScripts, the \texttt{AfterSnapshot} keyword for the \texttt{RunsWhen} directive will allow a command to be run just after the Snapshot creation. \texttt{AfterSnapshot} is a synonym for the \texttt{AfterVSS} keyword. @@ -568,7 +1411,7 @@ refer to the OpenSSL documentation to understand the pros and cons regarding the } \end{verbatim} -\subsubsection*{New Option Letter ``M'' for Accurate Directive in FileSet} +\subsubsection*{New Option Letter ``M'' for Accurate Directive in FileSet} % waa - 20150317 - is 8.0.5 correct here? Added in version 8.0.5, the new ``M'' option letter for the Accurate directive @@ -623,64 +1466,6 @@ causing files to be needlessly backed up. } \end{verbatim} -\subsubsection*{New Debug Options} - -In Bacula Enterprise version 8.0 and later, we introduced a new \texttt{options} parameter for -the \texttt{setdebug} bconsole command. - -\smallskip{} - -The following arguments to the new \texttt{option} parameter are available to control debug functions. - -\begin{itemize} -\item [0] Clear debug flags -\item [i] Turn off, ignore bwrite() errors on restore on File Daemon -\item [d] Turn off decomp of BackupRead() streams on File Daemon -\item [t] Turn on timestamps in traces -\item [T] Turn off timestamps in traces - -% waa - 20150306 - does this "c" item mean to say "Truncate trace file if one exists, otherwise append to it" ??? -\item [c] Truncate trace file if trace file is activated - -\item [l] Turn on recoding events on P() and V() -\item [p] Turn on the display of the event ring when doing a bactrace -\end{itemize} - -\smallskip{} - -The following command will enable debugging for the File Daemon, truncate an existing trace file, -and turn on timestamps when writing to the trace file. - -\begin{verbatim} -* setdebug level=10 trace=1 options=ct fd -\end{verbatim} - -\smallskip{} - -It is now possible to use a \textsl{class} of debug messages called \texttt{tags} -to control the debug output of Bacula daemons. - -\begin{itemize} -\item [all] Display all debug messages -\item [bvfs] Display BVFS debug messages -\item [sql] Display SQL related debug messages -\item [memory] Display memory and poolmem allocation messages -\item [scheduler] Display scheduler related debug messages -\end{itemize} - -\begin{verbatim} -* setdebug level=10 tags=bvfs,sql,memory -* setdebug level=10 tags=!bvfs - -# bacula-dir -t -d 200,bvfs,sql -\end{verbatim} - -The \texttt{tags} option is composed of a list of tags. Tags are separated by -``,'' or ``+'' or ``-'' or ``!''. To disable a specific tag, use ``-'' or ``!'' -in front of the tag. Note that more tags are planned for future versions. - -%%\LTXtable{\linewidth}{table_debugtags} - \subsection{Read Only Storage Devices} This version of Bacula allows you to define a Storage deamon device to be read-only. If the {\bf Read Only} directive is specified and @@ -693,24 +1478,6 @@ drives for restores. An example is: Read Only = yes \end{verbatim} -\subsection{New Truncate Command} -We have added a new truncate command to bconsole which -will truncate a volume if the volume is purged, and if -the volume is also marked {\bf Action On Purge = Truncate}. -This feature was originally added in Bacula version 5.0.1, -but the mechanism for actually doing the truncate required -the user to enter a complicated command such as: - -\begin{verbatim} -purge volume action=truncate storage=File pool=Default -\end{verbatim} - -The above command is now simplified to be: - -\begin{verbatim} -truncate storage=File pool=Default -\end{verbatim} - \subsection{New Resume Command} The new \texttt{resume} command does exactly the same thing as a {\bf restart} command, but for some users the diff --git a/docs/manuals/en/pattern-to-handle b/docs/manuals/en/pattern-to-handle index e2fe4f6b..eb89ce36 100644 --- a/docs/manuals/en/pattern-to-handle +++ b/docs/manuals/en/pattern-to-handle @@ -1,5 +1,4 @@ -s/\\borgxrlink{\(.*\)}{\(.*\)}{\(.*\)}{\([^}]*\)}/__XRANCHOR_\1_\2_\3_\4__/g; -s/\\borgxrlinkdocument{\(.*\)}{\(.*\)}{\(.*\)}{\([^}]*\)}/__XRANCHOR_\1_\2_\3_\4__/g; +s/\\bsysxrlink{\(.*\)}{\(.*\)}{\(.*\)}{\([^}]*\)}/__XRANCHOR_\1_\2_\3_\4__/g; s/\\vb{}/\|/g; s/lstlisting/verbatim/g; s/lstinline/verb/g; @@ -17,6 +16,4 @@ s/\\mainman{}/\\mbacula{} Main Manual/g; s/\\devman{}/\\mbacula{} Developers Manual/g; s/\\utilityman{}/\\mbacula{} Utility programs/g; s/\\problemsman{}/\\mbacula{} Problem Resolution Guide/g; -s/\\mbacula{}/Bacula Enterprise/g; -s/\\raisebox{0.1ex}{\\textsuperscript\\textregistered}/\\textregistered{}/g; -s/\\elink{\([^}]*\)}{\([^}]*\)}/__HREF_\2_\1__/g; \ No newline at end of file +s/\\mbacula{}/Bacula Enterprise/g; \ No newline at end of file diff --git a/docs/manuals/version.tex b/docs/manuals/version.tex index 2b9506c2..0b634ad7 100644 --- a/docs/manuals/version.tex +++ b/docs/manuals/version.tex @@ -1 +1 @@ -7.4.8 (10 April 2017) +7.9.0 (08 May 2017) -- 2.39.5