files have been deleted and will miss any file with an old time that may have
been restored or moved on the client filesystem.
+\subsection{Accurate = \lt{}yes|no\gt{}}
If the {\bf Accurate = \lt{}yes|no\gt{}} directive is enabled (default no) in
the Job resource, the job will be run as an Accurate Job. For a {\bf Full}
backup, there is no difference, but for {\bf Differential} and {\bf
They are:
-\begin{description}
-\item [Allow Duplicate Jobs = \lt{}yes|no\gt{}]
+\subsection{Allow Duplicate Jobs = \lt{}yes|no\gt{}}
If this directive is enabled duplicate jobs will be run. If
the directive is set to {\bf no} (default) then only one job of a given name
may run at one time, and the action that Bacula takes to ensure only
one job runs is determined by the other directives (see below).
-\item [Allow Higher Duplicates = \lt{}yes|no\gt{}]
+\subsection{Allow Higher Duplicates = \lt{}yes|no\gt{}}
If this directive is set to {\bf yes} (default) the job with a higher
priority (lower priority number) will be permitted to run. If the
priorities of the two jobs are the same, the outcome is determined by
other directives (see below).
-\item [Cancel Queued Duplicates = \lt{}yes|no\gt{}]
+\subsection{Cancel Queued Duplicates = \lt{}yes|no\gt{}}
If this directive is set to {\bf yes} (default) any job that is
already queued to run but not yet running will be canceled.
-\item [Cancel Running Duplicates = \lt{}yes|no\gt{}]
+\subsection{Cancel Running Duplicates = \lt{}yes|no\gt{}}
If this directive is set to {\bf yes} any job that is already running
will be canceled. The default is {\bf no}.
-\end{description}
+
\section{TLS Authentication}
\index[general]{TLS Authentication}
encryption (TLS Enable, TLS Verify Peer, TLS Certificate, ...) and
a new directive:
+\subsection{TLS Authenticate = yes}
\begin{verbatim}
TLS Authenticate = yes
\end{verbatim}
state file might not contain all the run data. This version of
the Bacula daemons updates the state file on each job termination.
-\section{MaxFullInterval}
+\section{MaxFullInterval = \lt{}time-interval\gt{}}
\index[general]{MaxFullInterval}
The new Job resource directive {\bf Max Full Interval = \lt{}time-interval\gt{}}
can be used to specify the maximum time interval between {\bf Full} backup
{\bf Incremental} or {\bf Differential}, it will be automatically
upgraded to a {\bf Full} backup.
-\section{MaxDiffInterval}
+\section{MaxDiffInterval = \lt{}time-interval\gt{}}
\index[general]{MaxDiffInterval}
The new Job resource directive {\bf Max Diff Interval = \lt{}time-interval\gt{}}
can be used to specify the maximum time interval between {\bf Differential} backup
{\bf Incremental}, it will be automatically
upgraded to a {\bf Differential} backup.
-\section{No Dump Flag}
+\section{Honor No Dump Flag = \lt{}yes|no\gt{}}
\index[general]{MaxDiffInterval}
On FreeBSD systems, each file has a {\bf no dump flag} that can be set
by the user, and when it is set it is an indication to backup programs
definition. Without this directive restricted consoles may not modify
the Plugin Options.
-\subsection{Plugin}
+\subsection{Plugin = \lt{}plugin-command-string\gt{}}
The {\bf Plugin} directive is specified in the Include section of
a FileSet resource where you put your {\bf File = xxx} directives.
For example:
\section{Miscellaneous}
\index[general]{Misc New Features}
-\begin{description}
-\item [Virtual Tape Emulation]
+
+\subsection{Virtual Tape Emulation}
We now have a Virtual Tape emulator that allows us to run though 99.9\% of
the tape code but actually reading and writing to a disk file. Used with the
by using {\bf Device Type = vtape} in the Storage daemon's Device
directive. This feature is only implemented on Linux machines.
-\item [Bat Enhancements]
+\subsection{Bat Enhancements}
Bat (the Bacula Administration Tool) GUI program has been significantly
enhanced and stabilized. In particular, there are new table based status
commands; it can now be easily localized using Qt4 Linguist.
The Bat communications protocol has been significantly enhanced to improve
GUI handling.
-\item [RunScript Enhancements]
+\subsection{RunScript Enhancements}
The {\bf RunScript} resource has been enhanced to permit multiple
commands per RunScript. Simply specify multiple {\bf Command} directives
in your RunScript.
We would appreciate feedback. Due to the recursive nature of this command, we
may remove it before the final release.
-\item [Status Enhancements]
+\subsection{Status Enhancements}
The bconsole {\bf status dir} output has been enhanced to indicate
Storage daemon job spooling and despooling activity.
-\item [Connect Timeout]
+\subsection{Connect Timeout}
The default connect timeout to the File
daemon has been set to 3 minutes. Previously it was 30 minutes.
-\item [ftruncate for NFS Volumes]
+\subsection{ftruncate for NFS Volumes}
If you write to a Volume mounted by NFS (say on a local file server),
in previous Bacula versions, when the Volume was recycled, it was not
properly truncated because NFS does not implement ftruncate (file
written code (actually a kind user) that deletes and recreates the Volume,
thus accomplishing the same thing as a truncate.
-\item [Support for Ubuntu]
+\subsection{Support for Ubuntu}
The new version of Bacula now recognizes the Ubuntu (and Kubuntu)
version of Linux, and thus now provides correct autostart routines.
Since Ubuntu officially supports Bacula, you can also obtain any
recent release of Bacula from the Ubuntu repositories.
-\item[Recycling enhancements]
+\subsection{Recycle Pool = \lt{}pool-name\gt{}}
The new \textbf{RecyclePool} directive defines to which pool the Volume will
be placed (moved) when it is recycled. Without this directive, a Volume will
remain in the same pool when it is recycled. With this directive, it can be
probably most useful when defined in the Scratch pool, so that volumes will
be recycled back into the Scratch pool.
-\item [FD Version]
+\subsection{FD Version}
The File daemon to Director protocol now includes a version
-number, which will help us in future versions automatically determine
+number, which although there is no visible change for users,
+will help us in future versions automatically determine
if a File daemon is not compatible.
-\item [Max Run Sched Time]
+\subsection{Max Run Sched Time = \lt{}time-period-in-seconds\gt{}}
The time specifies the maximum allowed time that a job may run, counted from
when the job was scheduled. This can be useful to prevent jobs from running
during working hours. We can see it like \texttt{Max Start Delay + Max Run
Time}.
-\item [Max Wait Time]
+\subsection{Max Wait Time = \lt{}time-period-in-seconds\gt{}}
Previous \textbf{MaxWaitTime} directives aren't working as expected, instead
of checking the maximum allowed time that a job may block for a resource,
\textbf{Incr/Diff/Full Max Run Time}. \textbf{Incr/Diff/Full Max Wait Time}
directives are now deprecated.
-\item [Incremental|Differential Max Wait Time = \lt{}time\gt{}]
+\subsection{Incremental|Differential Max Wait Time = \lt{}time-period-in-seconds\gt{}}
Theses directives have been deprecated in favor of
\texttt{Incremental|Differential Max Run Time}.
-\item [Max Run Time directives]
+\subsection{Max Run Time directives}
Using \textbf{Full/Diff/Incr Max Run Time}, it's now possible to specify the
maximum allowed time that a job can run depending on the level.
\addcontentsline{lof}{figure}{Job time control directives}
\includegraphics{\idir different_time.eps}
-\item [Statistics Enhancements]
+\subsection{Statistics Enhancements}
If you (or probably your boss) want to have statistics on your backups to
-provide some \textit{Service Level Agreement} indicators, you could use few
+provide some \textit{Service Level Agreement} indicators, you could use a few
SQL queries on the Job table to report how many:
\begin{itemize}
Now, you can use the \textbf{update stats [days=num]} console command to fill
the JobStat table with new Job records. If you want to be sure to take in
-account only \textbi{good jobs}, ie if one of your important job has failed but
+account only \textbf{good jobs}, ie if one of your important job has failed but
you have fixed the problem and restarted it on time, you probably want to
delete the first \textit{bad} job record and keep only the successful one. For
that simply let your staff do the job, and update JobStat table after two or
three days depending on your organization using the \textbf{[days=num]} option.
-These statistics records aren't used for restore purpose, but mainly for
+These statistics records aren't used for restoring, but mainly for
capacity planning, billings, etc.
-The Bweb interface provide a statistics module that can use this feature. You
+The Bweb interface provides a statistics module that can use this feature. You
can also use tools like Talend or extract information by yourself.
-The \textbf{Statistics Retention = \lt{}time\gt{}} director directive defines
+The {\textbf Statistics Retention = \lt{}time\gt{}} director directive defines
the length of time that Bacula will keep statistics job records in the Catalog
database after the Job End time. (In \texttt{JobStat} table) When this time
period expires, and if user runs \texttt{prune stats} command, Bacula will
}
\end{verbatim}
-\item [Spooling Enhancements]
+\subsection{SpoolSize = \lt{}size-specification-in-bytes\gt{}}
A new job directive permits to specify the spool size per job. This is used
in advanced job tunning. {\bf SpoolSize={\it bytes}}
-\end{description}
\section{Building Bacula Plugins}
There is currently one sample program {\bf example-plugin-fd.c} and
};
\end{verbatim}
-in the restore\pkt value {\bf create\_status}. For a normal file,
+in the restore\_pkt value {\bf create\_status}. For a normal file,
unless there is an error, you must return {\bf CF\_EXTRACT}.
\begin{verbatim}
\subsection{setFileAttributes(bpContext *ctx, struct restore\_pkt *rp)}
This is call not yet implemented.
-See the definition of {\bf restre\pkt} in the above section.
+See the definition of {\bf restre\_pkt} in the above section.
\subsection{endRestoreFile(bpContext *ctx)}
Called when done restoring a file.