This chapter presents the new features added to the development 3.0.3 versions to be released as Bacula version 3.0.3 sometime in 2009.
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 Base=Jobx, Joby... permits to specify the list of files that will be used during Full backup as base.
Job { Name = BackupLinux Level= Base ... } Job { Name = BackupZog4 Base = BackupZog4, BackupLinux Accurate = yes ... }
In this example, the job BackupZog4 will use the most recent version of all files contained in BackupZog4 and BackupLinux jobs. Base jobs should have run with level=Base to be used.
This project was funded by Bacula Systems.
Kern Sibbald 2009-08-09