X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;ds=sidebyside;f=bacula%2Fprojects;h=385ee5106e0844ebc7b502966b1db0c397aec490;hb=5821457bbef2394cbf205e2a527917d11c1b6e8b;hp=4dd5f76505bc2516fc5ad02316c0d310c2e5d6f8;hpb=f73bf7171544dcc169859ca86a4a6abfb5a55bfc;p=bacula%2Fbacula diff --git a/bacula/projects b/bacula/projects index 4dd5f76505..385ee5106e 100644 --- a/bacula/projects +++ b/bacula/projects @@ -1,141 +1,208 @@ Projects: Bacula Projects Roadmap - Prioritized by user vote 07 December 2005 - Status updated 30 July 2006 + Status updated 26 April 2009 Summary: -Item 1: Implement data encryption (as opposed to comm encryption) -Item 2: Implement Migration that moves Jobs from one Pool to another. -Item 3: Accurate restoration of renamed/deleted files from -Item 4: Implement a Bacula GUI/management tool using Python. -Item 5: Implement Base jobs. -Item 6: Allow FD to initiate a backup -Item 7: Improve Bacula's tape and drive usage and cleaning management. -Item 8: Implement creation and maintenance of copy pools -Item 9: Implement new {Client}Run{Before|After}Job feature. -Item 10: Merge multiple backups (Synthetic Backup or Consolidation). -Item 11: Deletion of Disk-Based Bacula Volumes -Item 12: Directive/mode to backup only file changes, not entire file -Item 13: Multiple threads in file daemon for the same job -Item 14: Implement red/black binary tree routines. -Item 15: Add support for FileSets in user directories CACHEDIR.TAG -Item 16: Implement extraction of Win32 BackupWrite data. -Item 17: Implement a Python interface to the Bacula catalog. -Item 18: Archival (removal) of User Files to Tape -Item 19: Add Plug-ins to the FileSet Include statements. -Item 20: Implement more Python events in Bacula. -Item 21: Quick release of FD-SD connection after backup. -Item 22: Permit multiple Media Types in an Autochanger -Item 23: Allow different autochanger definitions for one autochanger. -Item 24: Automatic disabling of devices -Item 25: Implement huge exclude list support using hashing. - - -Below, you will find more information on future projects: - -Item 1: Implement data encryption (as opposed to comm encryption) - Date: 28 October 2005 - Origin: Sponsored by Landon and 13 contributors to EFF. - Status: Done: Landon Fuller has implemented this in 1.39.x. - - What: Currently the data that is stored on the Volume is not - encrypted. For confidentiality, encryption of data at - the File daemon level is essential. - Data encryption encrypts the data in the File daemon and - decrypts the data in the File daemon during a restore. - - Why: Large sites require this. - -Item 2: 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: 90% complete: Working in 1.39, 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 3: Accurate restoration of renamed/deleted files from - Incremental/Differential backups - Date: 28 November 2005 - Origin: Martin Simmons (martin at lispworks dot com) - Status: +Item 1: Allow FD to initiate a backup +Item 2: Ability to restart failed jobs +Item 3: Port bat to Win32 +Item 4: Convert Bacula existing tray monitor on Windows to a stand alone program +Item 5: Ability to import/export Bacula database entities +Item 6: Ability to defer Batch Insert to a later time +Item 7: List InChanger flag when doing restore. +Item 8: Deletion of disk Volumes when pruned +Item 9: Implement Base jobs +Item 10: Scheduling syntax that permits more flexibility and options +Item 11: Reduction of communications bandwidth for a backup +Item 12: Bacula Dir, FD and SD to support proxies +Item 13: Message mailing based on backup types +Item 14: Ability to reconnect a disconnected comm line +Item 15: Include timestamp of job launch in "stat clients" output +Item 16: Add an override in Schedule for Pools based on backup types +Item 17: Automatic promotion of backup levels based on backup size +Item 18: Allow inclusion/exclusion of files in a fileset by creation/mod times +Item 19: Archival (removal) of User Files to Tape +Item 20: Include all conf files in specified directory +Item 21: Implement an interface between Bacula and Amazon's S3. +Item 22: Enable/disable compression depending on storage device (disk/tape) +Item 23: Backup and Restore of Windows Encrypted Files using Win raw encryption +Item 24: Data encryption on storage daemon +Item 25: "Maximum Concurrent Jobs" for drives when used with changer device +Item 26: Add MaxVolumeSize/MaxVolumeBytes statement to Storage resource +Item 27: Start spooling even when waiting on tape +Item 28: Enable persistent naming/number of SQL queries +Item 29: Implementation of running Job speed limit. +Item 30: Restore from volumes on multiple storage daemons +Item 31: 'restore' menu: enter a JobId, automatically select dependents +Item 32: Possibilty to schedule Jobs on last Friday of the month +Item 33: Add Minumum Spool Size directive +Item 34: Cause daemons to use a specific IP address to source communications +Item 35: Add ability to Verify any specified Job. +Item 36: Automatic disabling of devices +Item 37: An option to operate on all pools with update vol parameters +Item 38: Implement Storage daemon compression +Item 39: Improve Bacula's tape and drive usage and cleaning management +Item 40: Multiple threads in file daemon for the same job + + +Item 1: Allow FD to initiate a backup +Origin: Frank Volf (frank at deze dot org) +Date: 17 November 2005 +Status: - 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. +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. +Why: Makes backup of laptops much easier. - 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. +Item 2: Ability to restart failed jobs + Date: 26 April 2009 + Origin: Kern/Eric + Status: - Why: Incremental/Differential would be much more useful if this worked. + What: Often jobs fail because of a communications line drop or max run time, + cancel, or some other non-critical problem. Currrently any data + saved is lost. This implementation should modify the Storage daemon + so that it saves all the files that it knows are completely backed + up to the Volume - Notes: Item 14 (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. + The jobs should then be marked as incomplete and a subsequent + Incremental Accurate backup will then take into account all the + previously saved job. - 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. + Why: Avoids backuping data already saved. - 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. + Notes: Requires Accurate to restart correctly. Must completed have a minimum + volume of data or files stored on Volume before enabling. -Item 4: Implement a Bacula GUI/management tool using Python. - Origin: Kern - Date: 28 October 2005 - Status: Lucus is working on this for Python GTK+. - - What: Implement a Bacula console, and management tools - using Python and Qt or GTK. - - 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: This is currently being implemented using Python-GTK by - Lucas Di Pentima - -Item 5: Implement Base jobs. - Date: 28 October 2005 +Item 3: Port bat to Win32 + Date: 26 April 2009 + Origin: Kern/Eric + Status: + + What: Make bat run on Win32/64. + + Why: To have GUI on Windows + + Notes: + +Item 4: Convert Bacula existing tray monitor on Windows to a stand alone program + Date: 26 April 2009 + Origin: Kern/Eric + Status: + + What: Separate Win32 tray monitor to be a separate program. + + Why: Vista does not allow SYSTEM services to interact with the + desktop, so the current tray monitor does not work on Vista + machines. + + Notes: Requires communicating with the FD via the network (simulate + a console connection). + + + +Item 5: Ability to import/export Bacula database entities + Date: 26 April 2009 + Origin: Eric + Status: + + What: Create a Bacula ASCII SQL database independent format that permits + importing and exporting database catalog Job entities. + + Why: For achival, database clustering, tranfer to other databases + of any SQL engine. + + Notes: Job selection should be by Job, time, Volume, Client, Pool and possibly + other criteria. + + +Item 6: Ability to defer Batch Insert to a later time + Date: 26 April 2009 + Origin: Eric + Status: + + What: Instead of doing a Job Batch Insert at the end of the Job + which might create resource contention with lots of Job, + defer the insert to a later time. + + Why: Permits to focus on getting the data on the Volume and + putting the metadata into the Catalog outside the backup + window. + + Notes: Will use the proposed Bacula ASCII database import/export + format (i.e. dependent on the import/export entities project). + + +Item 7: List InChanger flag when doing restore. + Origin: Jesper Krogh + Date: 17 Oct 2008 + Status: + + What: When doing a restore the restore selection dialog ends by telling stuff + like this: + The job will require the following + Volume(s) Storage(s) SD Device(s) + =========================================================================== + 000741L3 LTO-4 LTO3 + 000866L3 LTO-4 LTO3 + 000765L3 LTO-4 LTO3 + 000764L3 LTO-4 LTO3 + 000756L3 LTO-4 LTO3 + 001759L3 LTO-4 LTO3 + 001763L3 LTO-4 LTO3 + 001762L3 LTO-4 LTO3 + 001767L3 LTO-4 LTO3 + + When having an autochanger, it would be really nice with an inChanger + column so the operator knew if this restore job would stop waiting for + operator intervention. This is done just by selecting the inChanger flag + from the catalog and printing it in a seperate column. + + + Why: This would help getting large restores through minimizing the + time spent waiting for operator to drop by and change tapes in the library. + + Notes: [Kern] I think it would also be good to have the Slot as well, + or some indication that Bacula thinks the volume is in the autochanger + because it depends on both the InChanger flag and the Slot being + valid. + + +Item 8: Deletion of disk Volumes when pruned + 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 =