From 1153bd4fce53a20a084f89250824b03511979278 Mon Sep 17 00:00:00 2001 From: Kern Sibbald Date: Tue, 2 Sep 2008 19:33:23 +0000 Subject: [PATCH] Add more new feature documentation --- docs/manuals/en/concepts/concepts.kilepr | 4 +- docs/manuals/en/concepts/newfeatures.tex | 167 +++++++++++++++++++++-- 2 files changed, 160 insertions(+), 11 deletions(-) diff --git a/docs/manuals/en/concepts/concepts.kilepr b/docs/manuals/en/concepts/concepts.kilepr index b91988d1..374c10c8 100644 --- a/docs/manuals/en/concepts/concepts.kilepr +++ b/docs/manuals/en/concepts/concepts.kilepr @@ -161,10 +161,10 @@ order=-1 [item:newfeatures.tex] archive=true -column=0 +column=23 encoding= highlight=LaTeX -line=179 +line=18 open=true order=0 diff --git a/docs/manuals/en/concepts/newfeatures.tex b/docs/manuals/en/concepts/newfeatures.tex index af7cc3ce..116dfe7c 100644 --- a/docs/manuals/en/concepts/newfeatures.tex +++ b/docs/manuals/en/concepts/newfeatures.tex @@ -8,6 +8,16 @@ This chapter presents the new features added to the development 2.5.x versions to be released as Bacula version 3.0.0 near the end of 2008. +\section{Copy Jobs} +\index[general]{Copy Jobs} +A new {\bf Copy} job type has been implemented. It is essentially +identical to the existing Migration feature with the exception that +the Job that is copied is left unchanged. This essentially creates +two identical copies of the same backup. The Copy Job runs without +using the File daemon by copying the data from the old backup Volume to +a different Volume in a different Pool. See the Migration documentation +for additional details. + \section{Virtual Backup (Vbackup)} \index[general]{Virtual Backup} \index[general]{Vbackup} @@ -151,6 +161,39 @@ updated only when Bacula terminated, thus if the daemon crashed, the 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} +\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 +jobs. When a job starts, if the time since the last Full backup is +greater than the specified interval, and the job would normally be an +{\bf Incremental} or {\bf Differential}, it will be automatically +upgraded to a {\bf Full} backup. + +\section{MaxDiffInterval} +\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 +jobs. When a job starts, if the time since the last Differential backup is +greater than the specified interval, and the job would normally be an +{\bf Incremental}, it will be automatically +upgraded to a {\bf Differential} backup. + +\section{No Dump Flag} +\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 +to not backup that particular file. This version of Bacula contains a +new Options directive within a FileSet resource, which instructs Bacula to +obey this flag. The new directive is: + +\begin{verbatim} + Honor No Dump Flag = yes|no +\end{verbatim} + +The default value is {\bf no}. + + \section{Duplicate Job Control} \index[general]{Duplicate Jobs} The new version of Bacula provides four new directives that @@ -166,42 +209,109 @@ are specified in the Job resource. They are: \begin{description} -\item Allow Duplicate Jobs \\ +\item [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 \\ +\item [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 \\ +\item [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 \\ +\item [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{Ignore Dir} +\index[general]{IgnoreDir} +The {\bf Ignore Dir = \lt{}filename\gt{}} is a new directive that can be added to the Include +section of the FileSet resource. If the specified +filename is found on the Client in any directory to be backed up, +the whole directory will be ignored (not backed up). +For example: +\begin{verbatim} + # List of files to be backed up + FileSet { + Name = "MyFileSet" + Include { + Options { + signature = MD5 + } + File = /home + IgnoreDir = .excludeme + } + } +\end{verbatim} +But in /home, there may be hundreds of directories of users and some +people want to indicate that they don't want to have certain +directories backed up. For example, with the above FileSet, if +the user or sysadmin creates a file named {\bf .excludeme} in +specific directories, such as +\begin{verbatim} + /home/user/www/cache/.excludeme + /home/user/temp/.excludeme +\end{verbatim} +then Bacula will not backup the two directories named: -\section{Accurate Backup} -\index[general]{Accurate Backup} +\begin{verbatim} + /home/user/www/cache + /home/user/temp +\end{verbatim} -\section{Using bconsole to display autochanger content} +\section{Accurate} +\index[general]{Accurate Backup} +As with most other backup programs, Bacula decides what files to backup +for Incremental and Differental backup by comparing the creation and modification +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 what files have been deleted and will miss any file +with an old time that may have been restored or moved on the client filesystem. + +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 Incremental} +backups, the Director will send a list of all previous files backed up, and the +File daemon will use that list to determine if any new files have been added or +or moved and if any files have been deleted. This allows Bacula to make an accurate +backup of your system to that point in time so that if you do a restore, it +will restore your system exactly. The downside of using Accurate backup is that +it requires significantly more resources (CPU and memory) on both the Director and +the Client machine to create the list of previous files backed up, to send that +list to the File daemon, and do comparisons on the File daemon between every file +and the list. + +\section{Bacula Plugins} +\index[general]{Plugin} +Support for shared object plugins has been implemented in the Linux +(and Unix) File daemon. The API will be documented separately in +the Developer's Guide or in a new document. For the moment, there is +a single plugin named {\bf bpipe} that allows an external program to +get control to backup and restore a file. + +Plugins are also planned (partially implemented) in the Director and the +Storage daemon. Also we plan (at some point) to port (partially implemented) +the plugin code to Win32 machines. + + +\section{Display Autochanger Content} \index[general]{StatusSlots} -The {\bf status slots storage=xxx} command displays autochanger content. +The {\bf status slots storage=\lt{}storage-name\gt{}} command displays autochanger content. \footnotesize \begin{verbatim} @@ -214,5 +324,44 @@ The {\bf status slots storage=xxx} command displays autochanger content. \end{verbatim} \normalsize -If you see a {\bf *} near the slot number, you have to run {\bf update slots} +If you an asterisk ({\bf *}) appears after the slot number, you must run an {\bf update slots} command to synchronize autochanger content with your catalog. + +\section{Miscellaneous} +\index[general]{Misc New Features} +\begin{description} +\item [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. This feature is most +useful in testing. +It is enabled by using {\bf Device Type = vtape} in the Storage daemon's Device +directive. This feature is only implemented on Linux machines. + +\item [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] +The {\bf RunScript} resource has been enhanced to permit multiple +commands per RunScript. Simply specify multiple {\bf Command} directives +in your RunScript. + +A new Client RunScript {\bf RunsWhen} keyword of {\bf AfterVSS} has been implemented, which +runs the command after the Volume Shadow Copy has been made. + +Console commands can be specified within a RunScript by using: +{\bf Console = \lt{}command\gt{}}, however, this command has not been +carefully tested and debugged and is known to easily crash the Director. +We would appreciate feedback. Due to the recursive nature of this command, we +may remove it before the final release. + +\item [Status Enhancements] +The bconsole {\bf status dir} output has been enhanced to indicate +Storage daemon job spooling and despooling activity. + + +\end{description} \ No newline at end of file -- 2.39.5