-\chapter{Community Bacula New Features in 5.1.x}
+\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 under development. This version will be
-released at some later date, probably near the end of April 2011.
+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 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}).
For example:
\begin{verbatim}
\section{New Tray Monitor}
-Since the old integrated Windows tray monitor doesn't work anymore with
+Since the old integrated Windows tray monitor doesn't work with
recent Windows versions, we have written a new Qt Tray Monitor that is available
-for both Linux and Windows. This new version allows you to run Backup from
+for both Linux and Windows. In addition to all the previous features,
+this new version allows you to run Backups from
the tray monitor menu.
\begin{figure}[htbp]
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 submited by Dunlap Blake; testing and documentation was funded
by Bacula Systems.
\section{Changes in Bvfs (Bacula Virtual FileSystem)}
Bat has now a bRestore panel that uses Bvfs to display files and
-directories. It's still experimental.
+directories.
\begin{figure}[htbp]
\centering
\caption{Bat Brestore Panel}
\end{figure}
-\texttt{Important}, the Bvfs module is not currently compatible 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.
OK
\end{verbatim}
-\subsection*{Cleanup after restore}
+\subsection*{Cleanup after Restore}
To drop the table used by the restore command, you can use the
\texttt{.bvfs\_cleanup} command.
.bvfs_cleanup path=b20001
\end{verbatim}
-\section{Changes in the pruning algorithm}
+\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
reported that the pruning process at the end of jobs was very long. It should
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 database 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 SQLITE2 code was removed (e.g. only
-SQLITE3 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
+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.
+
+
\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 funded by Planets Communications B.V. and ELM Consultancy B.V.
-and Bacula Systems and is available with Bacula Enterprise Edition and
-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}
+\section{Hash List Enhancements}
The htable hash table class has been extended with extra hash functions for
handling next to char pointer hashes also 32 bits and 64 bits hash keys.
and Bacula Systems and is available with Bacula Enterprise Edition and
Community Edition.
+%%
+%%
+%%% =====================================================================
+%%
+%%
+
\chapter{Release Version 5.0.3}