]> git.sur5r.net Git - bacula/docs/blobdiff - docs/manuals/en/main/newfeatures.tex
change bandwidth keyword
[bacula/docs] / docs / manuals / en / main / newfeatures.tex
index 609769c77634b2eb8c43a70d96442ef21fe25fe0..023ffc95adff73a709d465a8384e3cd2c3a8b465 100644 (file)
@@ -3,6 +3,164 @@ This chapter presents the new features that have been added to the
 current version of Bacula that is under development. This version will be
 released at some later date, probably near the end of 2010.
 
+\section{Purge Migration Job when Completed}
+
+A new directive may be added to the Migration Job definition in the Director
+configuration file to purge the job migrated at the end of a migration.
+
+For example:
+\begin{verbatim}
+Job {
+  Name = "migrate-job"
+  Type = Migrate
+  Level = Full
+  Client = localhost-fd
+  FileSet = "Full Set"
+  Messages = Standard
+  Storage = DiskChanger
+  Pool = Default
+  Selection Type = Job
+  Selection Pattern = ".*Save"
+...
+  Purge Migrated Job = yes
+}
+\end{verbatim}
+
+\medskip
+
+This project was submited by Dunlap Blake, testing and documentation was funded
+by Bacula Systems.
+
+\section{Job Bandwidth Limitation}
+
+A new directive may be added to FileDaemon or Director to allow users to limit
+the bandwidth used by a Job on a Client. It can be set for all Jobs globally, 
+per Directors in the File Daemon configuration, or per Job in the Director
+configuration file.
+
+For example:
+\begin{verbatim}
+FileDaemon {
+  Name = localhost-fd
+  Working Directory = /some/path
+  Pid Directory = /some/path
+  ...
+  Maximum Bandwidth Per Job = 5MB/s
+}
+\end{verbatim}
+
+The above example would cause any jobs running with the FileDaemon to not
+exceed 5MB/s of throughput when sending data to the Storage Daemon.
+
+You can specify the speed parameter in k/s, kb/s, m/s, mb/s.
+
+For example:
+\begin{verbatim}
+Job {
+  Name = locahost-data
+  FileSet = FS_localhost
+  Accurate = yes
+  ...
+  Maximum Bandwidth = 5MB/s
+  ...
+}
+\end{verbatim}
+
+The above example would cause job \texttt{localhost-data} to not exceed 5MB/s
+of throughput when sending data to the Storage Daemon.
+
+A new console commande \texttt{setbandwidth} permits to set dynamically the
+maximum throughput of a running Job or for future jobs of a Client.
+
+\begin{verbatim}
+* setbandwidth limit=1000000 jobid=10
+\end{verbatim}
+
+The \texttt{limit} parameter is in kb/s.
+
+\medskip
+This project was funded by Bacula Systems and is available with Bacula
+Enterprise Edition and Community Edition.
+
+\section{Support for MSSQL Block Level Backup}
+
+This project was funded by Bacula Systems and is available with Bacula
+Enterprise Edition.
+
+\section{Support for NDMP protocol}
+
+The new \texttt{ndmp} Plugin is able to backup a NAS through NDMP protocol
+using \textbf{Filer to server} approach, where the Filer is backing up across
+the LAN to your Bacula server.
+
+Accurate option should be turned on in the Job resource.
+\begin{verbatim}
+Job {
+ Accurate = yes
+ FileSet = NDMPFS
+ ...
+}
+
+FileSet {
+ Name = NDMPFS
+ ...
+ Include {
+   Plugin = "ndmp:host=nasbox user=root pass=root file=/vol/vol1"
+ }
+}
+\end{verbatim}
+
+This project was funded by Bacula Systems and is available with Bacula Enterprise
+Edition.
+
+\section{Incremental/Differential Block Level Difference Backup}
+
+The new \texttt{delta} Plugin is able to compute and apply signature-based file
+differences. It can be used to backup only changes in a big binary file like Outlook
+PST, VirtualBox/VmWare images or database files.
+
+It supports both Incremental and Differential backups and stores signatures
+database in the File Daemon working directory. This plugin is available on all
+plateform including Windows 32 and 64bit.
+
+Accurate option should be turned on in the Job resource.
+\begin{verbatim}
+Job {
+ Accurate = yes
+ FileSet = DeltaFS
+ ...
+}
+
+FileSet {
+ Name = DeltaFS
+ ...
+ Include {
+   Plugin = "delta:/home/eric/.VirtualBox/HardDisks/lenny-i386.vdi"
+ }
+}
+\end{verbatim}
+
+This project was funded by Bacula Systems and is available with Bacula Enterprise
+Edition.
+
+\section{Include All Windows Drives in FileSet}
+
+The \texttt{alldrives} Windows Plugin allows you to include all local drives with
+a simple directive. This plugin is available for Windows 64 and 32 bit.
+
+\begin{verbatim}
+FileSet {
+ Name = EverythingFS
+ ...
+ Include {
+   Plugin = "alldrives"
+ }
+}
+\end{verbatim}
+
+This project was funded by Bacula Systems and is available with Bacula
+Enterprise Edition.
+
 \section{Changes in Bvfs (Bacula Virtual FileSystem)}
 
 Bat has now a bRestore panel that uses Bvfs to display files and
@@ -11,6 +169,9 @@ directories. It's still experimental.
 \texttt{Important}, the Bvfs module is not currently compatible with BaseJobs,
 Copy and Migration jobs.
 
+\medskip
+This project was funded by Bacula Systems.
+
 \subsection*{General notes}
 
 \begin{itemize}
@@ -34,7 +195,7 @@ Bvfs allows you to query the catalog against any combination of jobs. You
 can combine all Jobs and all FileSet for a Client in a single session.
 
 To get all JobId needed to restore a particular job, you can use the
-\texttt{.bvfs_get_jobids} command.
+\texttt{.bvfs\_get\_jobids} command.
 
 \begin{verbatim}
 .bvfs_get_jobids jobid=num [all]
@@ -55,7 +216,7 @@ this client.
 
 \subsection*{Generating Bvfs cache}
 
-The \texttt{.bvfs_update} command computes the directory cache for jobs
+The \texttt{.bvfs\_update} command computes the directory cache for jobs
 specified in argument, or for all jobs if unspecified.
 
 \begin{verbatim}
@@ -72,7 +233,7 @@ You can run the cache update process in a RunScript after the catalog backup.
 \subsection*{Get all versions of a specific file}
 
 Bvfs allows you to find all versions of a specific file for a given Client with
-the \texttt{.bvfs_version} command. To avoid problems with encoding, this function
+the \texttt{.bvfs\_version} command. To avoid problems with encoding, this function
 uses only PathId and FilenameId. The jobid argument is mandatory but unused.
 
 \begin{verbatim}
@@ -183,7 +344,7 @@ OK
 \subsection*{Cleanup after restore}
 
 To drop the table used by the restore command, you can use the
-\texttt{.bvfs_cleanup} command.
+\texttt{.bvfs\_cleanup} command.
 
 \begin{verbatim}
 .bvfs_cleanup path=b20001
@@ -237,6 +398,10 @@ Priority:    10
 OK to run? (yes/mod/no):
 \end{verbatim}
 
+\medskip
+This project was funded by Bacula Systems and is available with Bacula
+Enterprise Edition and Community Edition.
+
 \section{Additions to RunScript variables}
 You can have access to JobBytes and JobFiles using %b and %f in your runscript
 command.
@@ -245,15 +410,15 @@ command.
 RunAfterJob = "/bin/echo Job=%j JobBytes=%b JobFiles=%f"
 \end{verbatim}
 
-\section{Changes in drivetype.exe}
-
-Now the \texttt{drivetype.exe} program allows you to list all local hard
-drives. It can help to build dynamic FileSet on Windows.
-
-\begin{verbatim}
-File = "\\|\"c:/program files/bacula/bin32/drivetype\" -l -a"
-\end{verbatim}
-
+%\section{Changes in drivetype.exe}
+%
+%Now the \texttt{drivetype.exe} program allows you to list all local hard
+%drives. It can help to build dynamic FileSet on Windows.
+%
+%\begin{verbatim}
+%File = "\\|\"c:/program files/bacula/bin32/drivetype\" -l -a"
+%\end{verbatim}
+%
 
 \section{Additions to the Plugin API}
 The bfuncs structure has been extended to include a number of
@@ -284,8 +449,9 @@ typedef struct s_baculaFuncs {
    bRC (*AddExclude)(bpContext *ctx, const char *file);
    bRC (*AddInclude)(bpContext *ctx, const char *file);
    bRC (*AddIncludeOptions)(bpContext *ctx, const char *opts);
-   bRC (*AddRegexToInclude)(bpContext *ctx, const char *item, int type);
-   bRC (*AddWildToInclude)(bpContext *ctx, const char *item, int type);
+   bRC (*AddRegex)(bpContext *ctx, const char *item, int type);
+   bRC (*AddWild)(bpContext *ctx, const char *item, int type);
+   bRC (*checkChanges)(bpContext *ctx, struct save_pkt *sp);
 
 } bFuncs;
 \end{verbatim}
@@ -373,6 +539,12 @@ typedef struct s_baculaFuncs {
   \item [F] regex applies only to the filename (directory or path stripped).
   \item [D] regex applies only to the directory (path) part of the name.
   \end{description}
+
+\item [checkChanges] call the \texttt{check\_changes()} function in Bacula code
+  that can use Accurate code to compare the file information in argument with
+  the previous file information. The \texttt{delta\_seq} attribute of the
+  \texttt{save\_pkt} will be updated, and the call will return
+  \texttt{bRC\_Seen} if the core code wouldn't decide to backup it.
   
 \end{description}
   
@@ -401,7 +573,10 @@ typedef enum {
   bEventVssRestoreLoadComponentMetadata = 15,
   bEventVssRestoreSetComponentsSelected = 16,
   bEventRestoreObject                   = 17,
-  bEventEndFileSet                      = 18
+  bEventEndFileSet                      = 18,
+  bEventPluginCommand                   = 19,
+  bEventVssBeforeCloseRestore           = 20,
+  bEventVssPrepareSnapshot              = 21
 
 } bEventType;
 \end{verbatim}
@@ -412,9 +587,13 @@ typedef enum {
 
 \item [bEventVssBackupAddComponents] 
 
+\item [bEventVssPrepareSnapshot] is called before creating VSS snapshots, it
+  provides a char[27] table where the plugin can add Windows drives that will
+  be used during the Job. You need to add them without duplicates, and you can
+  use in \texttt{fd\_common.h} \texttt{add\_drive()} and \texttt{copy\_drives()}
+  for this purpose.
 \end{description}
 
-
 \chapter{Release Version 5.0.3}
 
 There are no new features in version 5.0.2.  This version simply fixes a