Projects:
Bacula Projects Roadmap
- Status updated 3 January 2007
+ Status updated 11 January 2007
Summary:
Item 1: Accurate restoration of renamed/deleted files
Item 4: Implement from-client and to-client on restore command line.
Item 5: Implement creation and maintenance of copy pools
Item 6: Merge multiple backups (Synthetic Backup or Consolidation).
-Item 8: Deletion of Disk-Based Bacula Volumes
-Item 9: Implement a Python interface to the Bacula catalog.
-Item 10: Archival (removal) of User Files to Tape
-Item 11: Add Plug-ins to the FileSet Include statements.
-Item 12: Implement more Python events in Bacula.
-Item 13: Quick release of FD-SD connection after backup.
-Item 14: Implement huge exclude list support using hashing.
-Item 15: Allow skipping execution of Jobs
-Item 16: Tray monitor window cleanups
-Item 17: Split documentation
-Item 18: Automatic promotion of backup levels
-Item 19: Add an override in Schedule for Pools based on backup types.
-Item 20: An option to operate on all pools with update vol parameters
-Item 21: Include JobID in spool file name
-Item 22: Include timestamp of job launch in "stat clients" output
-Item 23: Message mailing based on backup types
-Item 24: Allow inclusion/exclusion of files in a fileset by creation/mod times
-Item 25: Add a scheduling syntax that permits weekly rotations
-Item 26: Improve Bacula's tape and drive usage and cleaning management.
-Item 27: Implement support for stacking arbitrary stream filters, sinks.
-Item 28: Allow FD to initiate a backup
-Item 29: Directive/mode to backup only file changes, not entire file
-Item 30: Automatic disabling of devices
-Item 31: Incorporation of XACML2/SAML2 parsing
-Item 32: Clustered file-daemons
-Item 33: Commercial database support
-Item 34: Archive data
-Item 35: Filesystem watch triggered backup.
-Item 36: Implement multiple numeric backup levels as supported by dump
-Item 37: Implement a server-side compression feature
-Item 38: Cause daemons to use a specific IP address to source communications
-Item 39: Multiple threads in file daemon for the same job
-Item 40: Restore only file attributes (permissions, ACL, owner, group...)
-Item 41: Add an item to the restore option where you can select a pool
+Item 7: Deletion of Disk-Based Bacula Volumes
+Item 8: Implement a Python interface to the Bacula catalog.
+Item 9: Archival (removal) of User Files to Tape
+Item 10: Add Plug-ins to the FileSet Include statements.
+Item 11: Implement more Python events in Bacula.
+Item 12: Quick release of FD-SD connection after backup.
+Item 13: Implement huge exclude list support using hashing.
+Item 14: Allow skipping execution of Jobs
+Item 15: Tray monitor window cleanups
+Item 16: Split documentation
+Item 17: Automatic promotion of backup levels
+Item 18: Add an override in Schedule for Pools based on backup types.
+Item 10: An option to operate on all pools with update vol parameters
+Item 20: Include JobID in spool file name
+Item 21: Include timestamp of job launch in "stat clients" output
+Item 22: Message mailing based on backup types
+Item 23: Allow inclusion/exclusion of files in a fileset by creation/mod times
+Item 24: Add a scheduling syntax that permits weekly rotations
+Item 25: Improve Bacula's tape and drive usage and cleaning management.
+Item 26: Implement support for stacking arbitrary stream filters, sinks.
+Item 27: Allow FD to initiate a backup
+Item 28: Directive/mode to backup only file changes, not entire file
+Item 29: Automatic disabling of devices
+Item 30: Incorporation of XACML2/SAML2 parsing
+Item 31: Clustered file-daemons
+Item 32: Commercial database support
+Item 33: Archive data
+Item 34: Filesystem watch triggered backup.
+Item 35: Implement multiple numeric backup levels as supported by dump
+Item 36: Implement a server-side compression feature
+Item 37: Cause daemons to use a specific IP address to source communications
+Item 38: Multiple threads in file daemon for the same job
+Item 39: Restore only file attributes (permissions, ACL, owner, group...)
+Item 40: Add an item to the restore option where you can select a pool
Below, you will find more information on future projects:
data can then be pruned (or not) from the catalog, possibly
allowing older volumes to be recycled
-Item 8: Deletion of Disk-Based Bacula Volumes
+Item 7: Deletion of Disk-Based Bacula Volumes
Date: Nov 25, 2005
Origin: Ross Boylan <RossBoylan at stanfordalumni dot org> (edited
by Kern)
The migration project should also remove a Volume that is
migrated. This might also work for tape Volumes.
-Item 9: Implement a Python interface to the Bacula catalog.
+Item 8: Implement a Python interface to the Bacula catalog.
Date: 28 October 2005
Origin: Kern
Status:
Why: This will permit users to customize Bacula through
Python scripts.
-Item 10: Archival (removal) of User Files to Tape
+Item 9: Archival (removal) of User Files to Tape
Date: Nov. 24/2005
access time. Then after another 6 months (or possibly as one
storage pool gets full) data is migrated to Tape.
-Item 11: Add Plug-ins to the FileSet Include statements.
+Item 10: Add Plug-ins to the FileSet Include statements.
Date: 28 October 2005
Origin:
Status: Partially coded in 1.37 -- much more to do.
plug-in knows how to backup his Oracle database without
stopping/starting it, for example.
-Item 12: Implement more Python events in Bacula.
+Item 11: Implement more Python events in Bacula.
Date: 28 October 2005
Origin: Kern
Status:
jobs (possibly also scheduled jobs).
-Item 13: Quick release of FD-SD connection after backup.
+Item 12: Quick release of FD-SD connection after backup.
Origin: Frank Volf (frank at deze dot org)
Date: 17 November 2005
Status:
-Item 14: Implement huge exclude list support using hashing.
+Item 13: Implement huge exclude list support using hashing.
Date: 28 October 2005
Origin: Kern
Status:
backup set will be *much* smaller.
-Item 15: Allow skipping execution of Jobs
+Item 14: Allow skipping execution of Jobs
Date: 29 November 2005
Origin: Florian Schnabel <florian.schnabel at docufy dot de>
Status:
and you won't get errors that way.
-Item 16: Tray monitor window cleanups
+Item 15: Tray monitor window cleanups
Origin: Alan Brown ajb2 at mssl dot ucl dot ac dot uk
Date: 24 July 2006
Status:
the trailing items difficult to read.
-Item 17: Split documentation
+Item 16: Split documentation
Origin: Maxx <maxxatworkat gmail dot com>
Date: 27th July 2006
Status:
-Item 18: Automatic promotion of backup levels
+Item 17: Automatic promotion of backup levels
Date: 19 January 2006
Origin: Adam Thornton <athornton@sinenomine.net>
Status:
Amanda can do and we can't (at least, the one cool thing I know of).
-Item 19: Add an override in Schedule for Pools based on backup types.
+Item 18: Add an override in Schedule for Pools based on backup types.
Date: 19 Jan 2005
Origin: Chad Slater <chad.slater@clickfox.com>
Status:
backups, then the Full job would use the proper Storage device, which
has more capacity (i.e. a 8TB tape library.
-Item 20: An option to operate on all pools with update vol parameters
+Item 19: An option to operate on all pools with update vol parameters
Origin: Dmitriy Pinchukov <absh@bossdev.kiev.ua>
Date: 16 August 2006
Status:
-Item 21: Include JobID in spool file name
+Item 20: Include JobID in spool file name
Origin: Mark Bergman <mark.bergman@uphs.upenn.edu>
Date: Tue Aug 22 17:13:39 EDT 2006
Status: Ok (patches/testing/project-include-jobid-in-spool-name.patch)
-Item 22: Include timestamp of job launch in "stat clients" output
+Item 21: Include timestamp of job launch in "stat clients" output
Origin: Mark Bergman <mark.bergman@uphs.upenn.edu>
Date: Tue Aug 22 17:13:39 EDT 2006
Status:
-Item 23: Message mailing based on backup types
+Item 22: Message mailing based on backup types
Origin: Evan Kaufman <evan.kaufman@gmail.com>
Date: January 6, 2006
Status:
}
-Item 24: Allow inclusion/exclusion of files in a fileset by creation/mod times
+Item 23: Allow inclusion/exclusion of files in a fileset by creation/mod times
Origin: Evan Kaufman <evan.kaufman@gmail.com>
Date: January 11, 2006
Status:
or 'since'.
-Item 25: Add a scheduling syntax that permits weekly rotations
+Item 24: Add a scheduling syntax that permits weekly rotations
Date: 15 December 2006
Origin: Gregory Brauer (greg at wildbrain dot com)
Status:
}
-Item 26: Improve Bacula's tape and drive usage and cleaning management.
+Item 25: Improve Bacula's tape and drive usage and cleaning management.
Date: 8 November 2005, November 11, 2005
Origin: Adam Thornton <athornton at sinenomine dot net>,
Arno Lehmann <al at its-lehmann dot de>
sub-projects: Measuring Tape and Drive usage, retiring
volumes, and handling drive cleaning and TAPEALERTs.
-Item 27: Implement support for stacking arbitrary stream filters, sinks.
+Item 26: Implement support for stacking arbitrary stream filters, sinks.
Date: 23 November 2006
Origin: Landon Fuller <landonf@threerings.net>
Status: Planning. Assigned to landonf.
Assistance with either code or testing would be fantastic.
-Item 28: Allow FD to initiate a backup
+Item 27: Allow FD to initiate a backup
Origin: Frank Volf (frank at deze dot org)
Date: 17 November 2005
Status:
Why: Makes backup of laptops much easier.
-Item 29: Directive/mode to backup only file changes, not entire file
+Item 28: Directive/mode to backup only file changes, not entire file
Date: 11 November 2005
Origin: Joshua Kugler <joshua dot kugler at uaf dot edu>
Marek Bajon <mbajon at bimsplus dot com dot pl>
Notes: This would require the usage of disk-based volumes as comparing
files would not be feasible using a tape drive.
-Item 30: Automatic disabling of devices
+Item 29: Automatic disabling of devices
Date: 2005-11-11
Origin: Peter Eriksson <peter at ifm.liu dot se>
Status:
further use of that drive and used one of the other ones
instead.
-Item 31: Incorporation of XACML2/SAML2 parsing
+Item 30: Incorporation of XACML2/SAML2 parsing
Date: 19 January 2006
Origin: Adam Thornton <athornton@sinenomine.net>
Status: Blue sky
high, but they're largely both external to Bacula and already sunk.
-Item 32: Clustered file-daemons
+Item 31: Clustered file-daemons
Origin: Alan Brown ajb2 at mssl dot ucl dot ac dot uk
Date: 24 July 2006
Status:
Notes:
-Item 33: Commercial database support
+Item 32: Commercial database support
Origin: Russell Howe <russell_howe dot wreckage dot org>
Date: 26 July 2006
Status:
than having to run a second DBMS.
-Item 34: Archive data
+Item 33: Archive data
Date: 15/5/2006
Origin: calvin streeting calvin at absentdream dot com
Status:
save the catalog with the disk as some kind of menu
system
-Item 35: Filesystem watch triggered backup.
+Item 34: Filesystem watch triggered backup.
Date: 31 August 2006
Origin: Jesper Krogh <jesper@krogh.cc>
Status: Unimplemented, depends probably on "client initiated backups"
that monitors the Filesystem changes, then uses the console
to start the appropriate job.
-Item 36: Implement multiple numeric backup levels as supported by dump
+Item 35: Implement multiple numeric backup levels as supported by dump
Date: 3 April 2006
Origin: Daniel Rich <drich@employees.org>
Status:
Notes: Legato Networker supports a similar system with full, incr, and 1-9 as
levels.
-Item 37: Implement a server-side compression feature
+Item 36: Implement a server-side compression feature
Date: 18 December 2006
Origin: Vadim A. Umanski , e-mail umanski@ext.ru
Status:
That's why the server-side compression feature is needed!
Notes:
-Item 38: Cause daemons to use a specific IP address to source communications
+Item 37: Cause daemons to use a specific IP address to source communications
Origin: Bill Moran <wmoran@collaborativefusion.com>
Date: 18 Dec 2006
Status:
10.0.0.1 and zone transfers will always originate from
10.0.0.2.
-Item 39: Multiple threads in file daemon for the same job
+Item 38: Multiple threads in file daemon for the same job
Date: 27 November 2005
Origin: Ove Risberg (Ove.Risberg at octocode dot com)
Status:
Why: Multiple concurrent backups of a large fileserver with many
disks and controllers will be much faster.
-Item 40: Restore only file attributes (permissions, ACL, owner, group...)
+Item 39: Restore only file attributes (permissions, ACL, owner, group...)
Origin: Eric Bollengier
Date: 30/12/2006
Status:
If the file isn't here, we can create an empty one and apply
rights or do nothing.
-Item 41: Add an item to the restore option where you can select a pool
+Item 40: Add an item to the restore option where you can select a pool
Origin: kshatriyak at gmail dot com
Date: 1/1/2006
Status:
/*
Bacula® - The Network Backup Solution
- Copyright (C) 2000-2006 Free Software Foundation Europe e.V.
+ Copyright (C) 2000-2007 Free Software Foundation Europe e.V.
The main author of Bacula is Kern Sibbald, with contributions from
many others, a complete list can be found in the file AUTHORS.
free_pool_memory(jcr->fname);
jcr->fname = NULL;
}
- if (jcr->pool_source) {
- free_pool_memory(jcr->pool_source);
- jcr->pool_source = NULL;
- }
- if (jcr->rpool_source) {
- free_pool_memory(jcr->rpool_source);
- jcr->rpool_source = NULL;
- }
- if (jcr->wstore_source) {
- free_pool_memory(jcr->wstore_source);
- jcr->wstore_source = NULL;
- }
- if (jcr->rstore_source) {
- free_pool_memory(jcr->rstore_source);
- jcr->rstore_source = NULL;
- }
if (jcr->stime) {
Dmsg0(200, "Free JCR stime\n");
free_pool_memory(jcr->stime);
pthread_cond_destroy(&jcr->term_wait);
jcr->term_wait_inited = false;
}
+ if (jcr->fname) {
+ Dmsg0(200, "Free JCR fname\n");
+ free_pool_memory(jcr->fname);
+ jcr->fname = NULL;
+ }
+ if (jcr->pool_source) {
+ free_pool_memory(jcr->pool_source);
+ jcr->pool_source = NULL;
+ }
+ if (jcr->rpool_source) {
+ free_pool_memory(jcr->rpool_source);
+ jcr->rpool_source = NULL;
+ }
+ if (jcr->wstore_source) {
+ free_pool_memory(jcr->wstore_source);
+ jcr->wstore_source = NULL;
+ }
+ if (jcr->rstore_source) {
+ free_pool_memory(jcr->rstore_source);
+ jcr->rstore_source = NULL;
+ }
/* Delete lists setup to hold storage pointers */
free_rwstorage(jcr);
case JT_RESTORE:
jcr->JobLevel = L_NONE;
break;
+ case JT_MIGRATE:
+ if (!jcr->rpool_source) {
+ jcr->rpool_source = get_pool_memory(PM_MESSAGE);
+ pm_strcpy(jcr->rpool_source, _("unknown source"));
+ }
+ /* Fall-through wanted */
default:
jcr->JobLevel = job->JobLevel;
break;
jcr->pool_source = get_pool_memory(PM_MESSAGE);
pm_strcpy(jcr->pool_source, _("unknown source"));
}
+
jcr->JobPriority = job->Priority;
/* Copy storage definitions -- deleted in dir_free_jcr above */
if (job->storage) {