- 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 can specify to exclude
- all files saved by the base job that have not been modified.
-
- Why: This is something none of the competition does, as far as we know
- (except 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.
-
- Notes: Big savings in tape usage. Will require more resources because
- the DIR must send FD a list of files/attribs, and the FD must
- search the list and compare it for each file to be saved.
-
-Item 2: Make the Storage daemon use intermediate file storage to buffer data
- or Data Spooling.
-
- What: If data is coming into the SD too fast, buffer it to
- disk if the user has configured this option, so that tape
- shuttling or shoe-shine can be reduced.
-
- Why: This would be a nice project and is the most requested feature.
- Even though you may finish a client job quicker by spilling to
- disk, you still have to eventually get it onto tape. If
- intermediate disk buffering allows us to improve write
- bandwidth to tape, it may make sense. In addition, you can
- run multiple simultaneous jobs all spool to disk, then the
- data can be written one job at a time to the tape at full
- tape speed. This keeps the tape running smoothly and prevents
- blocks from different simultaneous jobs from being intermixed
- on the tape, which is very ineffficient for restores.
-
- Notes:
-
-Item 3: GUI for interactive restore
-Item 4: GUI for interactive backup
+ 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.
+
+ Why: This is something none of the competition does, as far as
+ we know (except 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.
+
+ Notes: Huge savings in tape usage even for a single machine.
+ Will require more resources because the DIR must send
+ FD a list of files/attribs, and the FD must search the
+ list and compare it for each file to be saved.
+
+Item 2: Add Plug-ins to the FileSet Include statements.
+ Status: In progress in 1.37 using Python scripting.
+
+ What: Allow users to specify wild-card and/or regular
+ expressions to be matched in both the Include and
+ Exclude directives in a FileSet. At the same time,
+ allow users to define plug-ins to be called (based on
+ regular expression/wild-card matching).
+
+ Why: This would give the users the ultimate ability to control
+ how files are backed up/restored. A user could write a
+ plug-in knows how to backup his Oracle database without
+ stopping/starting it, for example.
+
+Item 3: Implement a Migration job type that will move the job
+ data from one device to another.
+ Status: Partially coded in 1.37 -- much more to do.