\date{\vspace{1.0in}\today \\
This manual documents Bacula version \input{version} \\
\vspace{0.2in}
- Copyright \copyright 1999-2008, Free Software Foundation Europe
+ Copyright {\copyright} 1999-2008, Free Software Foundation Europe
e.V. \\
+ Bacula {\textregistered} is a registered trademark of Kern Sibbald.\\
\vspace{0.2in}
Permission is granted to copy, distribute and/or modify this document under the terms of the
GNU Free Documentation License, Version 1.2 published by the Free Software Foundation;
\markboth{Bacula Manual}{}
\pagenumbering{arabic}
\include{general}
+\include{newfeatures}
\include{state}
\include{requirements}
\include{supportedoses}
--- /dev/null
+%%
+%%
+
+\chapter{New Features}
+\label{NewFeaturesChapter}
+\index[general]{New Features}
+
+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{Virtual Backup (Vbackup)}
+\index[general]{Virtual Backup}
+\index[general]{Vbackup}
+
+Bacula's virtual backup feature is often called Synthetic Backup or
+Consolidation in other backup products. It permits you to consolidate
+the previous Full backup plus the most recent Differential backup and any
+subsequent Incremental backups into a new Full backup. This is accomplished
+without contacting the client by reading the previous backup data and
+writing it to a volume in a different pool.
+
+In some respects the Vbackup feature works similar to a Migration job, in
+that Bacula normally reads the data from the pool specified in the
+Job resource, and writes it to the \bf{Next Pool} specified in the
+Job resource. The input Storage resource and the Output Storage resource
+must be different.
+
+The Vbackup is enabled on a Job by Job in the Job resource by specifying
+a level of \bf{VirtualFull}.
+
+A typical Job resource definition might look like the following:
+
+\begin{verbatim}
+Job {
+ Name = "MyBackup"
+ Type = Backup
+ Client=localhost-fd
+ FileSet = "Full Set"
+ Storage = File
+ Messages = Standard
+ Pool = Default
+ SpoolData = yes
+}
+
+# Default pool definition
+Pool {
+ Name = Default
+ Pool Type = Backup
+ Recycle = yes # Bacula can automatically recycle Volumes
+ AutoPrune = yes # Prune expired volumes
+ Volume Retention = 365d # one year
+ NextPool = Full
+ Storage = File
+}
+
+Pool {
+ Name = Full
+ Pool Type = Backup
+ Recycle = yes # Bacula can automatically recycle Volumes
+ AutoPrune = yes # Prune expired volumes
+ Volume Retention = 365d # one year
+ Storage = DiskChanger
+}
+
+# Definition of file storage device
+Storage {
+ Name = File
+ Address = localhost
+ Password = "xxx"
+ Device = FileStorage
+ Media Type = File
+ Maximum Concurrent Jobs = 5
+}
+
+# Definition of DDS Virtual tape disk storage device
+Storage {
+ Name = DiskChanger
+ Address = localhost # N.B. Use a fully qualified name here
+ Password = "yyy"
+ Device = DiskChanger
+ Media Type = DiskChangerMedia
+ Maximum Concurrent Jobs = 4
+ Autochanger = yes
+}
+\end{verbatim}
+
+Then in bconsole or via a Run schedule, you would run the job as:
+
+\begin{verbatim}
+run job=MyBackup level=Full
+run job=MyBackup level=Incremental
+run job=MyBackup level=Differential
+run job=MyBackup level=Incremental
+run job=MyBackup level=Incremental
+\end{verbatim}
+
+So providing there were changes between each of those jobs, you would end up with
+a Full backup, a Differential, which includes the first Incremental backup, then two
+Incremental backups. All the above jobs would be written to the \bf{Default} pool.
+
+To consolidate those backups into a new Full backup, you would run the following:
+
+\begin{verbatim}
+run job=MyBackup level=VirtualFull
+\end{verbatim}
+
+And it would produce a new Full backup without using the client, and the output would
+be written to the \bf{Full} Pool which uses the Diskchanger Storage.
+
+
+
+