]> git.sur5r.net Git - bacula/docs/blobdiff - docs/manuals/en/main/newfeatures.tex
Tweak CancelLowerLevelDuplicates documentation
[bacula/docs] / docs / manuals / en / main / newfeatures.tex
index 5dc7919d98400ca5cb8ca41fecb395dae972ef4a..ffb55804a8f78d9301577ffdafb380279b179d1d 100644 (file)
@@ -1,20 +1,16 @@
-%%
+\chapter{New Features in 5.0.1}
 
-%%
+This chapter presents the new features that are in the released Bacula version
+5.0.1. This version mainly fixes a number of bugs found in version 5.0.0 during
+the onging development process.
 
-\chapter{New Features in 3.1.4 (Development Version}
-\label{NewFeaturesChapter}
-
-This chapter presents the new features that are currently under development
-in the 3.1.x versions to be released as Bacula version 3.2.0 sometime in
-late 2009 or early 2010.
-
-\section{Truncate volume after purge}
+\section{Truncate Volume after Purge}
 \label{sec:actiononpurge}
 
 The Pool directive \textbf{ActionOnPurge=Truncate} instructs Bacula to truncate
-the volume when it is purged. It is useful to prevent disk based volumes from
-consuming too much space. 
+the volume when it is purged with the new command \texttt{purge volume
+  action}. It is useful to prevent disk based volumes from consuming too much
+space.
 
 \begin{verbatim}
 Pool {
@@ -24,6 +20,54 @@ Pool {
 }
 \end{verbatim}
 
+As usual you can also set this property with the \texttt{update volume} command
+\begin{verbatim}
+*update volume=xxx ActionOnPurge=Truncate
+*update volume=xxx actiononpurge=None
+\end{verbatim}
+
+To ask Bacula to truncate your \texttt{Purged} volumes, you need to use the
+following command in interactive mode or in a RunScript as shown after:
+\begin{verbatim}
+*purge volume action=truncate storage=File allpools
+# or by default, action=all
+*purge volume action storage=File pool=Default
+\end{verbatim}
+
+This is possible to specify the volume name, the media type, the pool, the
+storage, etc\dots (see \texttt{help purge}) Be sure that your storage device is
+idle when you decide to run this command.
+
+\begin{verbatim}
+Job {
+ Name = CatalogBackup
+ ...
+ RunScript {
+   RunsWhen=After
+   RunsOnClient=No
+   Console = "purge volume action=all allpools storage=File"
+ }
+}
+\end{verbatim}
+
+\textbf{Important note}: This feature doesn't work as
+expected in version 5.0.0. Please do not use it before version 5.0.1.
+
+\section{Allow Higher Duplicates}
+This directive did not work correctly and has been depreciated
+(disabled) in version 5.0.1. Please remove it from your bacula-dir.conf
+file as it will be removed in a future rlease.
+
+\section{Cancel Lower Level Duplicates}
+This directive was added in Bacula version 5.0.1.  It compares the
+level of a new backup job to old jobs of the same name, if any,
+and will kill the job which has a lower level than the other one.
+If the levels are the same (i.e. both are Full backups), then 
+nothing is done and the other Cancel XXX Duplicate directives
+will be examined.
+
+\chapter{New Features in 5.0.0}
+
 \section{Maximum Concurent Jobs for Devices}
 \label{sec:maximumconcurentjobdevice}
 
@@ -35,6 +79,8 @@ Maximum Concurrent Jobs limit is reached, the Storage Daemon will start new
 Jobs on any other available compatible drive.  This facilitates writing to
 multiple drives with multiple Jobs that all use the same Pool.
 
+This project was funded by Bacula Systems.
+
 \section{Restore from Multiple Storage Daemons}
 \index[general]{Restore}
 
@@ -110,17 +156,47 @@ FileSet {
 }
 \end{verbatim}
 
+\textbf{Important note}: The current implementation doesn't permit to scan
+volume with \textbf{bscan}. The result wouldn't permit to restore files easily.
 
 This project was funded by Bacula Systems.
 
+\section{AllowCompression = \lt{}yes\vb{}no\gt{}}
+\index[dir]{AllowCompression}
+
+This new directive may be added to Storage resource within the Director's
+configuration to allow users to selectively disable the client compression for
+any job which writes to this storage resource.
+
+For example:
+\begin{verbatim}
+Storage {
+  Name = UltriumTape
+  Address = ultrium-tape
+  Password = storage_password # Password for Storage Daemon
+  Device = Ultrium
+  Media Type = LTO 3
+  AllowCompression = No # Tape drive has hardware compression
+}
+\end{verbatim}
+The above example would cause any jobs running with the UltriumTape storage
+resource to run without compression from the client file daemons.  This
+effectively overrides any compression settings defined at the FileSet level.
+
+This feature is probably most useful if you have a tape drive which supports
+hardware compression.  By setting the \texttt{AllowCompression = No} directive
+for your tape drive storage resource, you can avoid additional load on the file
+daemon and possibly speed up tape backups.
+
+This project was funded by Collaborative Fusion, Inc.
 
 \section{Accurate Fileset Options}
 \label{sec:accuratefileset}
 
-In previous versions, the accurate code used the file creation and
-modification times to determine if a file was modified or not. Now you can specify
-which attributes to use (time, size, checksum, permission, owner, group,
-\dots), similar to the Verify options.
+In previous versions, the accurate code used the file creation and modification
+times to determine if a file was modified or not. Now you can specify which
+attributes to use (time, size, checksum, permission, owner, group, \dots),
+similar to the Verify options.
 
 \begin{verbatim}
 FileSet {
@@ -136,41 +212,18 @@ FileSet {
 \end{verbatim}
 
 \begin{description}  
-\item {\bf i}
-  compare the inodes  
-  
-\item {\bf p}
-  compare the permission bits  
-  
-\item {\bf n}
-  compare the number of links  
-  
-\item {\bf u}
-  compare the user id  
-  
-\item {\bf g}
-  compare the group id  
-  
-\item {\bf s}
-  compare the size  
-  
-\item {\bf a}
-  compare the access time  
-  
-\item {\bf m}
-  compare the modification time (st\_mtime)  
-  
-\item {\bf c}
-  compare the change time (st\_ctime)  
-  
-\item {\bf d}
-  report file size decreases  
-  
-\item {\bf 5}
-  compare the MD5 signature  
-  
-\item {\bf 1}
-  compare the SHA1 signature  
+\item {\bf i}  compare the inodes  
+\item {\bf p}  compare the permission bits  
+\item {\bf n}  compare the number of links  
+\item {\bf u}  compare the user id  
+\item {\bf g}  compare the group id  
+\item {\bf s}  compare the size  
+\item {\bf a}  compare the access time  
+\item {\bf m}  compare the modification time (st\_mtime)  
+\item {\bf c}  compare the change time (st\_ctime)  
+\item {\bf d}  report file size decreases  
+\item {\bf 5}  compare the MD5 signature  
+\item {\bf 1}  compare the SHA1 signature  
 \end{description}
 
 \textbf{Important note:} If you decide to use checksum in Accurate jobs,
@@ -179,6 +232,8 @@ be saved.  This increases the I/O load, but also the accuracy of the
 deduplication.  By default, Bacula will check modification/creation time
 and size.
 
+This project was funded by Bacula Systems.
+
 \section{Tab-completion for Bconsole}
 \label{sec:tabcompletion}
 
@@ -195,6 +250,31 @@ your system, and use the following option in configure.
 
 The new bconsole won't be able to tab-complete with older directors.
 
+This project was funded by Bacula Systems.
+
+\section{Pool File and Job retention}
+\label{sec:poolfilejobretention}
+
+% TODO check
+We added two new Pool directives, \texttt{FileRetention} and
+\texttt{JobRetention}, that take precedence over Client directives of the same
+name. It allows you to control the Catalog pruning algorithm Pool by Pool. For
+example, you can decide to increase Retention times for Archive or OffSite Pool.
+
+\section{Read-only File Daemon using capabilities}
+\label{sec:fdreadonly}
+This feature implements support of keeping \textbf{ReadAll} capabilities after
+UID/GID switch, this allows FD to keep root read but drop write permission.
+
+It introduces new \texttt{bacula-fd} option (\texttt{-k}) specifying that
+\textbf{ReadAll} capabilities should be kept after UID/GID switch.
+
+\begin{verbatim}
+root@localhost:~# bacula-fd -k -u nobody -g nobody
+\end{verbatim}
+
+The code for this feature was contributed by our friends at AltLinux.
+
 \section{Bvfs API}
 \label{sec:bvfs}
 
@@ -225,6 +305,8 @@ data that will be displayed.
 * .bvfs_lsdir path=/ jobid=1,2
 \end{verbatim}
 
+This project was funded by Bacula Systems.
+
 \section{Testing your Tape Drive}
 \label{sec:btapespeed}
 
@@ -294,6 +376,8 @@ to go undetected.
 
 \section{New Bat Features}
 
+Those new features were funded by Bacula Systems.
+
 \subsection{Media List View}
 
 By clicking on ``Media'', you can see the list of all your volumes. You will be
@@ -341,8 +425,143 @@ access a detailed overview of your Autochanger. (cf \ref{fig:jobinfo}.)
   \label{fig:achcontent}
 \end{figure}
 
-\section{Console Timeout Option}
-You can now use the -u option of bconsole to set a timeout for each command.
+To use this feature, you need to use the latest mtx-changer script
+version. (With new \texttt{listall} and \texttt{transfer} commands)
+
+\section{Bat on Windows}
+We have ported {\bf bat} to Windows and it is now installed 
+by default when the installer is run.  It works quite well 
+on Win32, but has not had a lot of testing there, so your
+feedback would be welcome.  Unfortunately, eventhough it is
+installed by default, it does not yet work on 64 bit Windows
+operating systems.
+
+\section{New Win32 Installer}
+The Win32 installer has been modified in several very important
+ways.  
+\begin{itemize}
+\item You must deinstall any current version of the
+Win32 File daemon before upgrading to the new one. 
+If you forget to do so, the new installation will fail.
+To correct this failure, you must manually shutdown 
+and deinstall the old File daemon. 
+\item All files (other than menu links) are installed
+in {\bf c:/Program Files/Bacula}.  
+\item The installer no longer sets this
+file to require administrator privileges by default. If you want
+to do so, please do it manually using the {\bf cacls} program.
+For example:
+\begin{verbatim}
+cacls "C:\Program Files\Bacula" /T /G SYSTEM:F Administrators:F
+\end{verbatim}
+\item The server daemons (Director and Storage daemon) are
+no longer included in the Windows installer.  If you want the
+Windows servers, you will either need to build them yourself (note
+they have not been ported to 64 bits), or you can contact 
+Bacula Systems about this.
+\end{itemize}
+
+\section{Win64 Installer}
+We have corrected a number of problems that required manual
+editing of the conf files.  In most cases, it should now
+install and work.  {\bf bat} is by default installed in
+{\bf c:/Program Files/Bacula/bin32} rather than
+{\bf c:/Program Files/Bacula} as is the case with the 32
+bit Windows installer.
+
+\section{Linux Bare Metal Recovery USB Key}
+We have made a number of significant improvements in the
+Bare Metal Recovery USB key.  Please see the README files
+it the {\bf rescue} release for more details.  
+
+We are working on an equivalent USB key for Windows bare
+metal recovery, but it will take some time to develop it (best
+estimate 3Q2010 or 4Q2010)
+
+
+\section{bconsole Timeout Option}
+You can now use the -u option of {\bf bconsole} to set a timeout in seconds
+for commands. This is useful with GUI programs that use {\bf bconsole}
+to interface to the Director.
+
+\section{Important Changes}
+\label{sec:importantchanges}
+
+\begin{itemize}
+\item You are now allowed to Migrate, Copy, and Virtual Full to read and write
+  to the same Pool. The Storage daemon ensures that you do not read and
+  write to the same Volume.
+\item The \texttt{Device Poll Interval} is now 5 minutes. (previously did not
+  poll by default).
+\item Virtually all the features of {\bf mtx-changer} have
+  now been parameterized, which allows you to configure
+  mtx-changer without changing it. There is a new configuration file {\bf mtx-changer.conf} 
+  that contains variables that you can set to configure mtx-changer.
+  This configuration file will not be overwritten during upgrades.
+  We encourage you to submit any changes
+  that are made to mtx-changer and to parameterize it all in
+  mtx-changer.conf so that all configuration will be done by
+  changing only mtx-changer.conf.
+\item The new \texttt{mtx-changer} script has two new options, \texttt{listall}
+  and \texttt{transfer}. Please configure them as appropriate
+  in mtx-changer.conf.
+\item To enhance security of the \texttt{BackupCatalog} job, we provide a new
+  script (\texttt{make\_catalog\_backup.pl}) that does not expose your catalog
+  password. If you want to use the new script, you will need to 
+  manually change the \texttt{BackupCatalog} Job definition.
+\item The \texttt{bconsole} \texttt{help} command now accepts
+  an argument, which if provided produces information on that
+  command (ex: \texttt{help run}).
+\end{itemize}
+
+
+\subsubsection*{Truncate volume after purge}
+
+Note that the Truncate Volume after purge feature doesn't work as expected
+in 5.0.0 version. Please, don't use it before version 5.0.1.
+
+\subsection{Custom Catalog queries}
+
+If you wish to add specialized commands that list the contents of the catalog,
+you can do so by adding them to the \texttt{query.sql} file. This
+\texttt{query.sql} file is now empty by default.  The file
+\texttt{examples/sample-query.sql} has an a number of sample commands
+you might find useful.
+
+\subsection{Deprecated parts}
+
+The following items have been \textbf{deprecated} for a long time, and are now
+removed from the code.
+\begin{itemize}
+\item Gnome console
+\item Support for SQLite 2
+\end{itemize}
+
+\section{Misc Changes}
+\label{sec:miscchanges}
+
+\begin{itemize}
+\item Updated Nagios check\_bacula
+\item Updated man files
+\item Added OSX package generation script in platforms/darwin
+\item Added Spanish and Ukrainian Bacula translations
+\item Enable/disable command shows only Jobs that can change
+\item Added \texttt{show disabled} command to show disabled Jobs
+\item Many ACL improvements
+\item Added Level to FD status Job output
+\item Begin Ingres DB driver (not yet working)
+\item Split RedHat spec files into bacula, bat, mtx, and docs
+\item Reorganized the manuals (fewer separate manuals)
+\item Added lock/unlock order protection in lock manager
+\item Allow 64 bit sizes for a number of variables
+\item Fixed several deadlocks or potential race conditions in the SD
+\end{itemize}
+
+\chapter{Released Version 3.0.3 and 3.0.3a}
+
+There are no new features in version 3.0.3.  This version simply fixes a
+number of bugs found in version 3.0.2 during the onging development
+process.
 
 \chapter{New Features in Released Version 3.0.2}
 
@@ -620,7 +839,6 @@ JobDefs {
   Maximum Concurrent Jobs = 10
   SpoolData = No
   Allow Duplicate Jobs = Yes
-  Allow Higher Duplicates = No
   Cancel Queued Duplicates = No
   Cancel Running Duplicates = No
   Priority = 13
@@ -1025,7 +1243,7 @@ They are:
 
 \subsection{Allow Duplicate Jobs = \lt{}yes\vb{}no\gt{}}
 \index[general]{Allow Duplicate Jobs}
-  If this directive is enabled duplicate jobs will be run.  If
+  If this directive is set to {\bf yes}, 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).
@@ -1035,14 +1253,17 @@ They are:
   cancelling a job, then the current job (the second one started)
   will be cancelled.
 
-
 \subsection{Allow Higher Duplicates = \lt{}yes\vb{}no\gt{}}
 \index[general]{Allow Higher Duplicates}
-  If this directive is set to {\bf yes} (default) the job with a higher
-  priority (lower priority number) will be permitted to run, and
-  the current job will be cancelled.  If the
-  priorities of the two jobs are the same, the outcome is determined by
-  other directives (see below).
+  This directive was in version 5.0.0, but does not work as
+  expected. If used, it should always be set to no.  In later versions
+  of Bacula the directive is disabled (disregarded).
+
+\subsection{Cancel Running Duplicates = \lt{}yes\vb{}no\gt{}}
+\index[general]{Cancel Running Duplicates}
+  If {\bf Allow Duplicate Jobs} is set to {\bf no} and
+  if this directive is set to {\bf yes} any job that is already running
+  will be canceled.  The default is {\bf no}.
 
 \subsection{Cancel Queued Duplicates = \lt{}yes\vb{}no\gt{}}
 \index[general]{Cancel Queued Duplicates}
@@ -1051,12 +1272,6 @@ They are:
   already queued to run but not yet running will be canceled.
   The default is {\bf no}. 
 
-\subsection{Cancel Running Duplicates = \lt{}yes\vb{}no\gt{}}
-\index[general]{Cancel Running Duplicates}
-  If {\bf Allow Duplicate Jobs} is set to {\bf no} and
-  if this directive is set to {\bf yes} any job that is already running
-  will be canceled.  The default is {\bf no}.
-
 
 \section{TLS Authentication}
 \index[general]{TLS Authentication}
@@ -1370,7 +1585,7 @@ directory (eg C:\verb+\+Program Files\verb+\+Bacula\verb+\+bin). The Exchange AP
 named esebcli2.dll and is found in C:\verb+\+Program Files\verb+\+Exchsrvr\verb+\+bin on a
 default Exchange installation.
 
-\subsection{Backup up}
+\subsection{Backing Up}
 To back up an Exchange server the Fileset definition must contain at
 least {\bf Plugin = "exchange:/@EXCHANGE/Microsoft Information Store"} for
 the backup to work correctly. The 'exchange:' bit tells Bacula to look