X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fprojects;h=add7b575f3d943a932024ccac394c579dd863b2a;hb=867ad3783ac49e8bb476201cdc0a88d7ca547343;hp=32d851f7d6c2bc6be7c177e8d397cfa417440d4e;hpb=fe27bfb5190d54a23b063683901c13a3699c9f97;p=bacula%2Fbacula diff --git a/bacula/projects b/bacula/projects index 32d851f7d6..add7b575f3 100644 --- a/bacula/projects +++ b/bacula/projects @@ -1,91 +1,97 @@ Projects: Bacula Projects Roadmap - 29 November 2005 + Status updated 14 April 2007 + After re-ordering in vote priority + +Items Completed: +Item: 18 Quick release of FD-SD connection after backup. +Item: 40 Include JobID in spool file name +Item: 25 Implement huge exclude list support using dlist +Item: 41 Enable to relocate files and directories when restoring Summary: -Item 1: Implement Migration that moves Jobs from one Pool to another. -Item 2: Implement extraction of Win32 BackupWrite data. -Item 3: Implement a Bacula GUI/management tool using Python. -Item 4: Implement a Python interface to the Bacula catalog. -Item 5: Implement more Python events in Bacula. -Item 6: Implement Base jobs. -Item 7: Add Plug-ins to the FileSet Include statements. -Item 8: Implement huge exclude list support using hashing. -Item 9: Implement data encryption (as opposed to comm encryption) -Item 10: Permit multiple Media Types in an Autochanger -Item 11: Allow different autochanger definitions for one autochanger. -Item 12: Implement red/black binary tree routines. -Item 13: Improve Baculas tape and drive usage and cleaning management. -Item 14: Merge multiple backups (Synthetic Backup or Consolidation). -Item 15: Automatic disabling of devices -Item 16: Directive/mode to backup only file changes, not entire file -Item 17: Quick release of FD-SD connection after backup. -Item 18: Add support for FileSets in user directories CACHEDIR.TAG -Item 19: Implement new {Client}Run{Before|After}Job feature. -Item 20: Allow FD to initiate a backup -Item 21: Multiple threads in file daemon for the same job -Item 22: Archival (removal) of User Files to Tape -Item 23: Deletion of Disk-Based BaculaVolumes -Item 24: Accurate restoration of renamed/deleted files from -Item 25: Implement creation and maintenance of copy pools - - -Below, you will find more information on future projects: - -Item 1: Implement Migration that moves Jobs from one Pool to another. - Origin: Sponsored by Riege Software International GmbH. Contact: - Daniel Holtkamp - Date: 28 October 2005 - Status: Partially coded in 1.37 -- much more to do. Assigned to - Kern. - - What: The ability to copy, move, or archive data that is on a - device to another device is very important. - - Why: An ISP might want to backup to disk, but after 30 days - migrate the data to tape backup and delete it from - disk. Bacula should be able to handle this - automatically. It needs to know what was put where, - and when, and what to migrate -- it is a bit like - retention periods. Doing so would allow space to be - freed up for current backups while maintaining older - data on tape drives. - - Notes: Riege Software have asked for the following migration - triggers: - Age of Job - Highwater mark (stopped by Lowwater mark?) - - Notes: Migration could be additionally triggered by: - Number of Jobs - Number of Volumes - - -Item 2: Implement extraction of Win32 BackupWrite data. - Origin: Thorsten Engel - Date: 28 October 2005 - Status: Assigned to Thorsten. Implemented in current CVS +Item: 1 Accurate restoration of renamed/deleted files +Item: 2 Implement a Bacula GUI/management tool. +Item: 3 Allow FD to initiate a backup +Item: 4 Merge multiple backups (Synthetic Backup or Consolidation). +Item: 5 Deletion of Disk-Based Bacula Volumes +Item: 6 Implement Base jobs. +Item: 7 Implement creation and maintenance of copy pools +Item: 8 Directive/mode to backup only file changes, not entire file +Item: 9 Implement a server-side compression feature +Item: 10 Improve Bacula's tape and drive usage and cleaning management. +Item: 11 Allow skipping execution of Jobs +Item: 12 Add a scheduling syntax that permits weekly rotations +Item: 13 Archival (removal) of User Files to Tape +Item: 14 Cause daemons to use a specific IP address to source communications +Item: 15 Multiple threads in file daemon for the same job +Item: 16 Add Plug-ins to the FileSet Include statements. +Item: 17 Restore only file attributes (permissions, ACL, owner, group...) +Item: 18* Quick release of FD-SD connection after backup. +Item: 19 Implement a Python interface to the Bacula catalog. +Item: 20 Archive data +Item: 21 Split documentation +Item: 22 Implement support for stacking arbitrary stream filters, sinks. +Item: 23 Implement from-client and to-client on restore command line. +Item: 24 Add an override in Schedule for Pools based on backup types. +Item: 25* Implement huge exclude list support using hashing. +Item: 26 Implement more Python events in Bacula. +Item: 27 Incorporation of XACML2/SAML2 parsing +Item: 28 Filesystem watch triggered backup. +Item: 29 Allow inclusion/exclusion of files in a fileset by creation/mod times +Item: 30 Tray monitor window cleanups +Item: 31 Implement multiple numeric backup levels as supported by dump +Item: 32 Automatic promotion of backup levels +Item: 33 Clustered file-daemons +Item: 34 Commercial database support +Item: 35 Automatic disabling of devices +Item: 36 An option to operate on all pools with update vol parameters +Item: 37 Add an item to the restore option where you can select a pool +Item: 38 Include timestamp of job launch in "stat clients" output +Item: 39 Message mailing based on backup types +Item: 40* Include JobID in spool file name +Item: 41* Enable to relocate files and directories when restoring + +Item 1: Accurate restoration of renamed/deleted files + Date: 28 November 2005 + Origin: Martin Simmons (martin at lispworks dot com) + Status: Robert Nelson will implement this + + What: When restoring a fileset for a specified date (including "most + recent"), Bacula should give you exactly the files and directories + that existed at the time of the last backup prior to that date. + + Currently this only works if the last backup was a Full backup. + When the last backup was Incremental/Differential, files and + directories that have been renamed or deleted since the last Full + backup are not currently restored correctly. Ditto for files with + extra/fewer hard links than at the time of the last Full backup. - What: This provides the Bacula File daemon with code that - can pick apart the stream output that Microsoft writes - for BackupWrite data, and thus the data can be read - and restored on non-Win32 machines. + Why: Incremental/Differential would be much more useful if this worked. + + Notes: Merging of multiple backups into a single one seems to + rely on this working, otherwise the merged backups will not be + truly equivalent to a Full backup. - Why: BackupWrite data is the portable=no option in Win32 - FileSets, and in previous Baculas, this data could - only be extracted using a Win32 FD. With this new code, - the Windows data can be extracted and restored on - any OS. + Kern: notes shortened. This can be done without the need for + inodes. It is essentially the same as the current Verify job, + but one additional database record must be written, which does + not need any database change. + Kern: see if we can correct restoration of directories if + replace=ifnewer is set. Currently, if the directory does not + exist, a "dummy" directory is created, then when all the files + are updated, the dummy directory is newer so the real values + are not updated. -Item 3: Implement a Bacula GUI/management tool using Python. +Item 2: Implement a Bacula GUI/management tool. Origin: Kern Date: 28 October 2005 - Status: + Status: In progress What: Implement a Bacula console, and management tools - using Python and Qt or GTK. + probably using Qt3 and C++. Why: Don't we already have a wxWidgets GUI? Yes, but it is written in C++ and changes to the user interface @@ -98,43 +104,81 @@ Item 3: Implement a Bacula GUI/management tool using Python. Python, which will give many more users easy (or easier) access to making additions or modifications. - Notes: This is currently being implemented using Python-GTK by - Lucas Di Pentima + Notes: There is a partial Python-GTK implementation + Lucas Di Pentima but + it is no longer being developed. +Item 3: Allow FD to initiate a backup + Origin: Frank Volf (frank at deze dot org) + Date: 17 November 2005 + Status: -Item 4: Implement a Python interface to the Bacula catalog. - Date: 28 October 2005 - Origin: Kern - Status: + What: Provide some means, possibly by a restricted console that + allows a FD to initiate a backup, and that uses the connection + established by the FD to the Director for the backup so that + a Director that is firewalled can do the backup. - What: Implement an interface for Python scripts to access - the catalog through Bacula. + Why: Makes backup of laptops much easier. - Why: This will permit users to customize Bacula through - Python scripts. -Item 5: Implement more Python events in Bacula. - Date: 28 October 2005 - Origin: - Status: +Item 4: Merge multiple backups (Synthetic Backup or Consolidation). + Origin: Marc Cousin and Eric Bollengier + Date: 15 November 2005 + Status: Waiting implementation. Depends on first implementing + project Item 2 (Migration) which is now done. - What: Allow Python scripts to be called at more places - within Bacula and provide additional access to Bacula - internal variables. + What: A merged backup is a backup made without connecting to the Client. + It would be a Merge of existing backups into a single backup. + In effect, it is like a restore but to the backup medium. - Why: This will permit users to customize Bacula through - Python scripts. + For instance, say that last Sunday we made a full backup. Then + all week long, we created incremental backups, in order to do + them fast. Now comes Sunday again, and we need another full. + The merged backup makes it possible to do instead an incremental + backup (during the night for instance), and then create a merged + backup during the day, by using the full and incrementals from + the week. The merged backup will be exactly like a full made + Sunday night on the tape, but the production interruption on the + Client will be minimal, as the Client will only have to send + incrementals. - Notes: Recycle event - Scratch pool event - NeedVolume event - MediaFull event - - Also add a way to get a listing of currently running - jobs (possibly also scheduled jobs). + In fact, if it's done correctly, you could merge all the + Incrementals into single Incremental, or all the Incrementals + and the last Differential into a new Differential, or the Full, + last differential and all the Incrementals into a new Full + backup. And there is no need to involve the Client. + + Why: The benefit is that : + - the Client just does an incremental ; + - the merged backup on tape is just as a single full backup, + and can be restored very fast. + This is also a way of reducing the backup data since the old + data can then be pruned (or not) from the catalog, possibly + allowing older volumes to be recycled -Item 6: Implement Base jobs. +Item 5: Deletion of Disk-Based Bacula Volumes + Date: Nov 25, 2005 + Origin: Ross Boylan (edited + by Kern) + Status: + + What: Provide a way for Bacula to automatically remove Volumes + from the filesystem, or optionally to truncate them. + Obviously, the Volume must be pruned prior removal. + + Why: This would allow users more control over their Volumes and + prevent disk based volumes from consuming too much space. + + Notes: The following two directives might do the trick: + + Volume Data Retention =