X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fprojects;h=a7334e20bd7c8960324fcf1859f8e4848ee57b15;hb=30ba4a6f0147e8af1353ed3dbc8a54eb4b25fdee;hp=cdafc7ee8316359a43629c7b3b2285f5a89f856f;hpb=b46b6376eee70224f8cbd9e4a0d5167052400e26;p=bacula%2Fbacula diff --git a/bacula/projects b/bacula/projects index cdafc7ee83..a7334e20bd 100644 --- a/bacula/projects +++ b/bacula/projects @@ -1,610 +1,81 @@ Projects: Bacula Projects Roadmap - Status updated 15 December 2006 - + Status updated 25 February 2010 Summary: -Item 1: Accurate restoration of renamed/deleted files -Item 2: Implement a Bacula GUI/management tool. -Item 3: Implement Base jobs. -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 - - -Below, you will find more information on future projects: - -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. - - 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. - - 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 2: Implement a Bacula GUI/management tool. - Origin: Kern - Date: 28 October 2005 - Status: - - What: Implement a Bacula console, and management tools - 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 - must be hand tailored using C++ code. By developing - the user interface using Qt designer, the interface - can be very easily updated and most of the new Python - code will be automatically created. The user interface - changes become very simple, and only the new features - must be implement. In addition, the code will be in - Python, which will give many more users easy (or easier) - access to making additions or modifications. - - Notes: There is a partial Python-GTK implementation - Lucas Di Pentima but - it is no longer being developed. - - -Item 3: Implement Base jobs. - Date: 28 October 2005 - Origin: Kern - Status: - - What: 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. - - Why: 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. - - 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 4: Implement from-client and to-client on restore command line. - Date: 11 December 2006 - Origin: Discussion on Bacula-users entitled 'Scripted restores to - different clients', December 2006 - Status: New feature request - - What: While using bconsole interactively, you can specify the client - that a backup job is to be restored for, and then you can - specify later a different client to send the restored files - back to. However, using the 'restore' command with all options - on the command line, this cannot be done, due to the ambiguous - 'client' parameter. Additionally, this parameter means different - things depending on if it's specified on the command line or - afterwards, in the Modify Job screens. - - Why: This feature would enable restore jobs to be more completely - automated, for example by a web or GUI front-end. - - Notes: client can also be implied by specifying the jobid on the command - line - -Item 5: Implement creation and maintenance of copy pools - Date: 27 November 2005 - Origin: David Boyes (dboyes at sinenomine dot net) - Status: - - What: I would like Bacula to have the capability to write copies - of backed-up data on multiple physical volumes selected - from different pools without transferring the data - multiple times, and to accept any of the copy volumes - as valid for restore. - - Why: In many cases, businesses are required to keep offsite - copies of backup volumes, or just wish for simple - protection against a human operator dropping a storage - volume and damaging it. The ability to generate multiple - volumes in the course of a single backup job allows - customers to simple check out one copy and send it - offsite, marking it as out of changer or otherwise - unavailable. Currently, the library and magazine - management capability in Bacula does not make this process - simple. - - Restores would use the copy of the data on the first - available volume, in order of copy pool chain definition. - - This is also a major scalability issue -- as the number of - clients increases beyond several thousand, and the volume - of data increases, transferring the data multiple times to - produce additional copies of the backups will become - physically impossible due to transfer speed - issues. Generating multiple copies at server side will - become the only practical option. - - How: I suspect that this will require adding a multiplexing - SD that appears to be a SD to a specific FD, but 1-n FDs - to the specific back end SDs managing the primary and copy - pools. Storage pools will also need to acquire parameters - to define the pools to be used for copies. - - Notes: I would commit some of my developers' time if we can agree - on the design and behavior. - -Item 6: 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: 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. - - 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. - - 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 8: 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 =