]> git.sur5r.net Git - bacula/docs/blobdiff - docs/manuals/en/main/newfeatures.tex
Tweaks from Dan
[bacula/docs] / docs / manuals / en / main / newfeatures.tex
index e293781c142b3c61a05f85956733bf83b3a21a68..8a0937466c470afe72e7f016d2356b420ad10770 100644 (file)
@@ -1,16 +1,32 @@
-\chapter{New Features in 5.2.0}
+\chapter{New Features in 5.2.x}
+This chapter presents the new features that have been added to the next
+Community version of Bacula that is not yet released.
+
+\chapter{New Features in 5.2.2}
 This chapter presents the new features that have been added to the current
 Community version of Bacula that is now released.
 
+\section{Additions to RunScript variables}
+You can have access to Director name using \%D in your runscript
+command.
+
+\begin{verbatim}
+RunAfterJob = "/bin/echo Director=%D 
+\end{verbatim}
+
+\chapter{New Features in 5.2.1}
+This chapter presents the new features were added in the
+Community release version 5.2.1.
+
 There are additional features (plugins) available in the Enterprise version
 that are described in another chapter. A subscription to Bacula Systems
 is required for the Enterprise version.
 
 \section{LZO Compression}
 
-LZO compression was added in the Unix File Daemon. From the user point of view, it
-works like the GZIP compression (just replace {\bf compression=GZIP} with {\bf
-  compression=LZO}).
+LZO compression has been to the File daemon. From the user's point of view,
+it works like the GZIP compression (just replace {\bf compression=GZIP} with
+{\bf compression=LZO}).
 
 For example:
 \begin{verbatim}
@@ -21,12 +37,12 @@ Include {
 }
 \end{verbatim}
 
-LZO provides much faster compression and decompression speed but lower
+LZO provides much faster compression and decompression speed but lower
 compression ratio than GZIP. It is a good option when you backup to disk. For
-tape, the built-in compression may be a better option.
+tape, the hardware compression is almost always a better option.
 
-LZO is a good altenative for GZIP1 when you don't want to slow down your
-backup. On a modern CPU it should be able to run almost as fast as:
+LZO is a good alternative for GZIP1 when you don't want to slow down your
+backup. With a modern CPU it should be able to run almost as fast as:
 
 \begin{itemize}
 \item your client can read data from disk. Unless you have very fast disks like
@@ -35,7 +51,7 @@ backup. On a modern CPU it should be able to run almost as fast as:
   a 1Gb/s link.
 \end{itemize}
 
-Note that bacula only use one compression level LZO1X-1.
+Note, Bacula uses compression level LZO1X-1.
 
 \medskip
 The code for this feature was contributed by Laurent Papier.
@@ -106,13 +122,13 @@ Job {
   Selection Type = Job
   Selection Pattern = ".*Save"
 ...
-  Purge Migrated Job = yes
+  Purge Migration Job = yes
 }
 \end{verbatim}
 
 \medskip
 
-This project was submited by Dunlap Blake; testing and documentation was funded
+This project was submitted by Dunlap Blake; testing and documentation was funded
 by Bacula Systems.
 
 \section{Changes in Bvfs (Bacula Virtual FileSystem)}
@@ -127,8 +143,7 @@ directories.
   \caption{Bat Brestore Panel}
 \end{figure}
 
-\texttt{Important}, the Bvfs module does not yet work correctly with BaseJobs,
-Copy and Migration jobs.
+the Bvfs module works correctly with BaseJobs, Copy and Migration jobs.
 
 \medskip
 This project was funded by Bacula Systems.
@@ -144,9 +159,9 @@ This project was funded by Bacula Systems.
   can contribute new faster SQL queries we will be happy, else don't complain
   about speed.
 \item The cache creation is dependent of the number of directories. As Bvfs
-  shares information accross jobs, the first creation can be slow
+  shares information across jobs, the first creation can be slow
 \item All fields are separated by a tab
-\item Due to potential encoding problem, it's advised to allways use pathid in
+\item Due to potential encoding problem, it's advised to always use pathid in
   queries.
 \end{itemize}
 
@@ -288,7 +303,7 @@ restore file=?b2num ...
 To include a directory (with \texttt{dirid}), Bvfs needs to run a query to
 select all files. This query could be time consuming.
 
-\texttt{hardlink} list is always composed of a serie of two numbers (jobid,
+\texttt{hardlink} list is always composed of a series of two numbers (jobid,
 fileindex). This information can be found in the LinkFI field of the LStat
 packet.
 
@@ -312,6 +327,15 @@ To drop the table used by the restore command, you can use the
 .bvfs_cleanup path=b20001
 \end{verbatim}
 
+\subsection*{Clearing the BVFS Cache}
+
+To clear the BVFS cache, you can use the \texttt{.bvfs\_clear\_cache} command.
+
+\begin{verbatim}
+.bvfs_clear_cache yes
+OK
+\end{verbatim}
+
 \section{Changes in the Pruning Algorithm}
 
 We rewrote the job pruning algorithm in this version. Previously, in some users
@@ -428,6 +452,12 @@ typedef struct s_baculaFuncs {
   or files matched by the rather simple fnmatch mechanism.
   See below for information on doing wild-card and regex excludes.
 
+\item [NewPreInclude] can be called to create a new Include block. This
+  block will be added after the current defined Include block. This
+  function can be called multiple times, but each time, it will create
+  a new Include section (not normally needed). This function should
+  be called only if you want to add an entirely new Include block.
+
 \item [NewInclude] can be called to create a new Include block. This
   block will be added before any user defined Include blocks. This
   function can be called multiple times, but each time, it will create
@@ -487,7 +517,7 @@ typedef struct s_baculaFuncs {
   \end{description}
 
 \item [AddRegex] adds a regex expression to the current Options block.
-  The fillowing options are permitted:
+  The following options are permitted:
   \begin{description}
   \item [ ] (a blank) regex applies to whole path and filename.
   \item [F] regex applies only to the filename (directory or path stripped).
@@ -495,7 +525,7 @@ typedef struct s_baculaFuncs {
   \end{description}
 
 \item [AddWild] adds a wildcard expression to the current Options block.
-  The fillowing options are permitted:
+  The following options are permitted:
   \begin{description}
   \item [ ] (a blank) regex applies to whole path and filename.
   \item [F] regex applies only to the filename (directory or path stripped).
@@ -545,7 +575,7 @@ typedef enum {
 
 \begin{description}
 \item [bEventCancelCommand] is called whenever the currently
-  running Job is cancelled */
+  running Job is canceled */
 
 \item [bEventVssBackupAddComponents] 
 
@@ -570,7 +600,7 @@ Access Control Lists (ACLs)
 \item Fix for acl storage on OSX
 \item Cleanup of configure checks for ACL detection, now configure only
   tests for a certain interface type based on the operating system
-  this should give less false possitives on detection. Also when acls
+  this should give less false positives on detection. Also when ACLs
   are detected no other acl checks are performed anymore.
 \end{itemize}
 
@@ -593,7 +623,7 @@ Extended Attributes (XATTRs)
   debug.
 \item Cleanup of configure checks for XATTR detection, now configure only
   tests for a certain interface type based on the operating system
-  this should give less false possitives on detection. Also when xattrs
+  this should give less false positives on detection. Also when xattrs
   are detected no other xattr checks are performed anymore.
 \end{itemize}
 
@@ -601,28 +631,90 @@ Extended Attributes (XATTRs)
 This project was funded by Planets Communications B.V. and ELM Consultancy B.V.
 and is available with Bacula Enterprise Edition and Community Edition.
 
-\section{Class Based Dtabase Backend Drivers}
+\section{Class Based Database Backend Drivers}
+
+The main Bacula Director code is independent of the SQL backend
+in version 5.2.0 and greater.  This means that the Bacula Director can be
+packaged by itself, then each of the different SQL backends supported can
+be packaged separately.  It is possible to build all the DB backends at the
+same time by including multiple database options at the same time.
+
+./configure can be run with multiple database configure options.
+\begin{verbatim}
+   --with-sqlite3
+   --with-mysql
+   --with-postgresql
+\end{verbatim}
+
+Order of testing for databases is:
+\begin{itemize}
+\item postgresql
+\item mysql
+\item sqlite3
+\end{itemize}
+
+Each configured backend generates a file named:
+\verb+libbaccats-<sql_backend_name>-<version>.so+
+A dummy catalog library is created named libbaccats-version.so
+
+At configure time the first detected backend is used as the so called
+default backend and at install time the dummy
+\verb+libbaccats-<version>.so+ is replaced with the default backend type.
+
+If you configure all three backends you get three backend libraries and the
+postgresql gets installed as the default.
+
+When you want to switch to another database, first save any old catalog you
+may have then you can copy one of the three backend libraries over the
+\verb+libbaccats-<version>.so+ e.g.
+
+An actual command, depending on your Bacula version might be:
+\begin{verbatim}
+   cp libbaccats-postgresql-5.2.2.so libbaccats-5.2.2.so
+\end{verbatim}
+
+where the \verb+5.2.2+ must be replaced by the Bacula release
+version number.
+
+Then you must update the default backend in the following files:
+
+\begin{verbatim}
+  create_bacula_database
+  drop_bacula_database
+  drop_bacula_tables
+  grant_bacula_privileges
+  make_bacula_tables
+  make_catalog_backup
+  update_bacula_tables
+\end{verbatim}
+
+And re-run all the above scripts.  Please note, this means
+you will have a new empty database and if you had a previous
+one it will be lost.
 
 All current database backend drivers for catalog information are rewritten
 to use a set of multi inherited C++ classes which abstract the specific
 database specific internals and make sure we have a more stable generic
-interface with the rest of sql code. From now on there is a strict boundery
-between the SQL code and the low-level database functions. This new interface
-should also make it easier to add a new backend for a currently unsupported
-database. As part of the rewrite the SQLite 2 code was removed (e.g. only
-SQLite 3 is now supported). An extra bonus of the new code is that you can
-configure multiple backends in the configure and build all backends in one
-compile session and select the correct database backend at install time.
-This should make it a lot easier for packages maintainers.
+interface with the rest of SQL code.  From now on there is a strict
+boundary between the SQL code and the low-level database functions.  This
+new interface should also make it easier to add a new backend for a
+currently unsupported database.  As part of the rewrite the SQLite 2 code
+was removed (e.g.  only SQLite 3 is now supported).  An extra bonus of the
+new code is that you can configure multiple backends in the configure and
+build all backends in one compile session and select the correct database
+backend at install time.  This should make it a lot easier for packages
+maintainers.
+
+
 
 \medskip
-We also added cursor support for PostgreSQL backend, this improves memory usage
-for large installation.
+We also added cursor support for PostgreSQL backend, this improves memory
+usage for large installation.
 
 \medskip
-This project was implemented by Planets Communications B.V. and ELM Consultancy B.V.
-and Bacula Systems and is available with both the Bacula Enterprise Edition and
-the Community Edition.
+This project was implemented by Planets Communications B.V. and ELM
+Consultancy B.V. and Bacula Systems and is available with both the Bacula
+Enterprise Edition and the Community Edition.
 
 \section{Hash List Enhancements}
 
@@ -650,13 +742,13 @@ Community Edition.
 \chapter{Release Version 5.0.3}
 
 There are no new features in version 5.0.2.  This version simply fixes a
-number of bugs found in version 5.0.1 during the onging development
+number of bugs found in version 5.0.1 during the ongoing development
 process.
 
 \chapter{Release Version 5.0.2}
 
 There are no new features in version 5.0.2.  This version simply fixes a
-number of bugs found in version 5.0.1 during the onging development
+number of bugs found in version 5.0.1 during the ongoing development
 process.
 
 %%
@@ -666,7 +758,7 @@ process.
 
 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.
+the ongoing development process.
 
 \section{Truncate Volume after Purge}
 \label{sec:actiononpurge}
@@ -720,7 +812,7 @@ 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.
+file as it will be removed in a future release.
 
 \section{Cancel Lower Level Duplicates}
 This directive was added in Bacula version 5.0.1.  It compares the
@@ -883,8 +975,8 @@ example, you can decide to increase Retention times for Archive or OffSite Pool.
 
 It seems obvious to us, but apparently not to some users, that given the
 definition above that the Pool File and Job Retention periods is a global
-override for the normal Client based prunning, which means that when the
-Job is prunned, the prunning will apply globally to that particular Job.
+override for the normal Client based pruning, which means that when the
+Job is pruned, the pruning will apply globally to that particular Job.
 
 Currently, there is a bug in the implementation that causes any Pool 
 retention periods specified to apply to {\bf all} Pools for that
@@ -981,7 +1073,7 @@ btape.c:383 Total Volume bytes=9.664 GB. Total Write rate = 7.365 MB/s
 
 When using compression, the random test will give your the minimum throughput
 of your drive . The test using constant string will give you the maximum speed
-of your hardware chain. (cpu, memory, scsi card, cable, drive, tape).
+of your hardware chain. (CPU, memory, SCSI card, cable, drive, tape).
 
 You can change the block size in the Storage Daemon configuration file.
 
@@ -1062,7 +1154,7 @@ version. (With new \texttt{listall} and \texttt{transfer} commands)
 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
+feedback would be welcome.  Unfortunately, even though it is
 installed by default, it does not yet work on 64 bit Windows
 operating systems.
 
@@ -1124,12 +1216,12 @@ to interface to the Director.
 \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
+  now been parametrized, 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
+  that are made to mtx-changer and to parametrize 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}
@@ -1190,7 +1282,7 @@ removed from the code.
 \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
+number of bugs found in version 3.0.2 during the ongoing development
 process.
 
 \chapter{New Features in Released Version 3.0.2}
@@ -1327,7 +1419,7 @@ versions to be released as Bacula version 3.0.0 sometime in April 2009.
 \index[general]{Accurate Backup}
 
 As with most other backup programs, by default Bacula decides what files to
-backup for Incremental and Differental backup by comparing the change
+backup for Incremental and Differential backup by comparing the change
 (st\_ctime) and modification (st\_mtime) times of the file to the time the last
 backup completed.  If one of those two times is later than the last backup
 time, then the file will be backed up.  This does not, however, permit tracking
@@ -1513,7 +1605,7 @@ some use an other draft or a completely different format) we currently only
 allow certain platform specific ACL streams to be decoded and restored on the
 same platform that they were created on.  The old code allowed to restore ACL
 cross platform but the comments already mention that not being to wise. For
-backward compatability the new code will accept the two old ACL streams and
+backward compatibility the new code will accept the two old ACL streams and
 handle those with the platform specific handler. But for all new backups it
 will save the ACLs using the new streams.
 
@@ -1565,8 +1657,8 @@ part of the stream numbers):
 \end{itemize}
 
 In future versions we might support conversion functions from one type of acl
-into an other for types that are either the same or easily convertable. For now
-the streams are seperate and restoring them on a platform that doesn't
+into an other for types that are either the same or easily convertible. For now
+the streams are separate and restoring them on a platform that doesn't
 recognize them will give you a warning.
 
 \section{Extended Attributes}
@@ -1574,11 +1666,11 @@ recognize them will give you a warning.
 Something that was on the project list for some time is now implemented for
 platforms that support a similar kind of interface. Its the support for backup
 and restore of so called extended attributes. As extended attributes are so
-platform specific these attributes are saved in seperate streams for each
+platform specific these attributes are saved in separate streams for each
 platform.  Restores of the extended attributes can only be performed on the
 same platform the backup was done.  There is support for all types of extended
 attributes, but restoring from one type of filesystem onto an other type of
-filesystem on the same platform may lead to supprises.  As extended attributes
+filesystem on the same platform may lead to surprises.  As extended attributes
 can contain any type of data they are stored as a series of so called
 value-pairs.  This data must be seen as mostly binary and is stored as such.
 As security labels from selinux are also extended attributes this option also
@@ -1593,9 +1685,9 @@ Currently the following platforms support extended attributes:
  \item {\bf NetBSD}
 \end{itemize}
 
-On linux acls are also extended attributes, as such when you enable ACLs on a
+On Linux acls are also extended attributes, as such when you enable ACLs on a
 Linux platform it will NOT save the same data twice e.g. it will save the ACLs
-and not the same exteneded attribute.
+and not the same extended attribute.
 
 To enable the backup of extended attributes please add the following to your
 fileset definition.
@@ -1880,8 +1972,8 @@ They are:
  
   If {\bf Allow Duplicate Jobs} is set to {\bf no} and two jobs
   are present and none of the three directives given below permit
-  cancelling a job, then the current job (the second one started)
-  will be cancelled.
+  Canceling a job, then the current job (the second one started)
+  will be canceled.
 
 \subsection{Allow Higher Duplicates = \lt{}yes\vb{}no\gt{}}
 \index[general]{Allow Higher Duplicates}
@@ -2047,7 +2139,7 @@ can share the same plugin directory.
 \subsection{Plugin Options}
 \index[general]{Plugin Options}
 The {\bf Plugin Options} directive takes a quoted string
-arguement (after the equal sign) and may be specified in the
+argument (after the equal sign) and may be specified in the
 Job resource.  The options specified will be passed to all plugins
 when they are run.  This each plugin must know what it is looking
 for. The value defined in the Job resource can be modified
@@ -2259,7 +2351,7 @@ the plugin and Exchange's shared ideas of when the last full backup was
 done, and may also truncate log files incorrectly. It is important,
 therefore, that the Exchange database files be excluded from the backup,
 although the folders the files are in should be included, or they will
-have to be recreated manually if a baremetal restore is done.
+have to be recreated manually if a bare metal restore is done.
 
 \begin{verbatim}
 FileSet {
@@ -2332,11 +2424,11 @@ Then run the restore.
 
 \subsection{Restoring on Microsoft Server 2007}
 Apparently the {\bf Exmerge} program no longer exists in Microsoft Server
-2007, and henc you use a new proceedure for recovering a single mail box.
-This procedure is ducomented by Microsoft at:
+2007, and hence you use a new procedure for recovering a single mail box.
+This procedure is documented by Microsoft at:
 \elink{http://technet.microsoft.com/en-us/library/aa997694.aspx}{http://technet.microsoft.com/en-us/library/aa997694.aspx},
 and involves using the {\bf Restore-Mailbox} and {\bf
-Get-MailboxStatistics} shell commands.
+Get-Mailbox Statistics} shell commands.
 
 \subsection{Caveats}
 This plugin is still being developed, so you should consider it