]> git.sur5r.net Git - bacula/docs/commitdiff
Add base job chapter
authorEric Bollengier <eric@eb.homelinux.org>
Wed, 12 Jan 2011 10:14:58 +0000 (11:14 +0100)
committerEric Bollengier <eric@eb.homelinux.org>
Wed, 12 Jan 2011 10:14:58 +0000 (11:14 +0100)
docs/manuals/en/main/basejob.tex [new file with mode: 0644]

diff --git a/docs/manuals/en/main/basejob.tex b/docs/manuals/en/main/basejob.tex
new file mode 100644 (file)
index 0000000..94d8822
--- /dev/null
@@ -0,0 +1,65 @@
+\chapter{File Deduplication using Base Jobs}
+\index[general]{Base Jobs}
+\index[general]{File Deduplication}
+\label{basejobs}
+A base job is sort of like a Full save except that you will want the FileSet to
+contain only files that are unlikely to change in the future (i.e.  a snapshot
+of most of your system after installing it).  After the base job has been run,
+when you are doing a Full save, you specify one or more Base jobs to be used.
+All files that have been backed up in the Base job/jobs but not modified will
+then be excluded from the backup.  During a restore, the Base jobs will be
+automatically pulled in where necessary.
+
+This is something none of the competition does, as far as we know (except
+perhaps BackupPC, which is a Perl program that saves to disk only).  It is big
+win for the user, it makes Bacula stand out as offering a unique optimization
+that immediately saves time and money.  Basically, imagine that you have 100
+nearly identical Windows or Linux machine containing the OS and user files.
+Now for the OS part, a Base job will be backed up once, and rather than making
+100 copies of the OS, there will be only one.  If one or more of the systems
+have some files updated, no problem, they will be automatically restored.
+
+A new Job directive \texttt{Base=Jobx, Joby...} permits to specify the list of
+files that will be used during Full backup as base.
+
+\begin{verbatim}
+Job {
+   Name = BackupLinux
+   Level= Base
+   ...
+}
+
+Job {
+   Name = BackupZog4
+   Base = BackupZog4, BackupLinux
+   Accurate = yes
+   ...
+}
+\end{verbatim}
+
+In this example, the job \texttt{BackupZog4} will use the most recent version
+of all files contained in \texttt{BackupZog4} and \texttt{BackupLinux}
+jobs. Base jobs should have run with \texttt{level=Base} to be used.
+
+By default, Bacula will compare permissions bits, user and group fields,
+modification time, size and the checksum of the file to choose between the
+current backup and the BaseJob file list. You can change this behavior with the
+\texttt{BaseJob} FileSet option. This option works like the \texttt{verify=}
+one, that is described in the \ilink{FileSet}{FileSetResource} chapter.
+
+\begin{verbatim}
+FileSet {
+  Name = Full
+  Include = {
+    Options {
+       BaseJob  = pmugcs5
+       Accurate = mcs
+       Verify   = pin5
+    }
+    File = /
+  }
+}
+\end{verbatim}
+
+\textbf{Important note}: The current implementation doesn't permit to scan
+volume with \textbf{bscan}. The result wouldn't permit to restore files easily.
\ No newline at end of file