]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/kernstodo
Doc + fix automount on files
[bacula/bacula] / bacula / kernstodo
index 27e511db9cb56ed5058535f3818da137a6a169ca..ff138597ba342033e432647f16e80ac034754653 100644 (file)
@@ -1,5 +1,5 @@
                  Kern's ToDo List
-                  25 March 2003 
+                  22 April 2003 
 
 Documentation to do: (a little bit at a time)
 - Document running a test version.
@@ -8,35 +8,86 @@ Documentation to do: (a little bit at a time)
 - Document how to automatically backup all local partitions
 - Document problems with Verify and pruning.
 - Document how to use multiple databases.
-- Document Maximum File Size
-          
-***** Write up how to use/manage disk Volume Storage. ******
 - Add a section to the doc on Manual cycling of Volumes.
-- Document new MaximumConcurrentJob records (Job, Client, Storage) 
 
+          
 Testing to do: (painful)
 - that ALL console command line options work and are always implemented
 - blocksize recognition code.
 - multiple simultaneous Volumes
 
 For 1.30 release:
+- Bug: up arrow prints garbage in command line on gnome-console!
+- Bug: fix access problems on files restored on WinXP (possibly do
+       this in a later update.
+- Fix Bare Metal restore problem.
+- Test multiple simultaneous Volumes
+
+- Document new transparent Console commands and wait command.
+- Document new immediate File save configuration (walk user
+  through first save to file Volume with automatic Volume labeling?).
+- Document OPTIMIZE TABLE in MySQL
+- Document labeling a whole magazine using "cat"
+- Document Lutz Kittler's trick of using "Run Before Job" to
+  abort a job on a particular day.
+- Document Ludovic Strappazon's Win32 raw device save/restore.
+- Document not to restore .journal .autofsck
+- Document logrotate
+- Document . and @ commands
+- Document run when.
+
+- Figure out how to use ssh or stunnel to protect Bacula communications.
+
+After 1.30:
+- Implement a Slot priority (loaded/not loaded).
+- Implement Automatic Mount even in operator wait.
+- Implement create "FileSet"?
+- Implement Release Device in the Job resource to unmount a drive.
+- Implement Acquire Device in the Job resource to mount a drive,
+  be sure this works with admin jobs so that the user can get
+  prompted to insert the correct tape.  Possibly some way to say to
+  run the job but don't save the files.
+- Implement all command line args on run.
+- Implement command line "restore" args.
+- Implement "restore current select=no"
+- Fix watchdog pthread crash on Win32
 - Fix "access not allowed" for backup of files on WinXP.
-- Implement | and < in Exclude statements.
-- Fix restoring c: to an alternate directory.  Windows
-  does not accept /tmp/c:/....
+- Implement "scratch pool" where tapes are defined and can be
+  taken by any pool that needs them.
+- Implement restore "current system", but take all files without
+  doing selection tree -- so that jobs without File records can
+  be restored.
+- Implement scheduling of one time "run" jobs (i.e. instead of
+  starting immediately start at some specified time).
+- Make | and < work on FD side.
+- Pass prefix_links to FD.
+- Implement a M_SECURITY message class.
+- Implement disk spooling. Two parts: 1. Spool to disk then
+  immediately to tape to speed up tape operations. 2. Spool to
+  disk only when the tape is full, then when a tape is hung move
+  it to tape.
+- From Phil Stracchino:
+  It would probably be a per-client option, and would be called
+  something like, say, "Automatically purge obsoleted jobs".  What it
+  would do is, when you successfully complete a Differential backup of a
+  client, it would automatically purge all Incremental backups for that
+  client that are rendered redundant by that Differential.  Likewise,
+  when a Full backup on a client completed, it would automatically purge
+  all Differential and Incremental jobs obsoleted by that Full backup.
+  This would let people minimize the number of tapes they're keeping on
+  hand without having to master the art of retention times.
+
+- Allow multiple Storage specifications (or multiple names on
+  a single Storage specification) in the Job record. Thus a job 
+  can be backed up to a number of storage devices.
+- Implement dump label to UA
+- Add prefixlinks to where or not where absolute links to FD.
+- Look at Python for a Bacula scripting language -- www.python.org
 - Issue message to mount a new tape before the rewind.
 - Simplified client job initiation for portables.
 - If SD cannot open a drive, make it periodically retry.
 - Implement LabelTemplate (at least first cut).
-- Figure out some way to specify a retention period for files
-  that no longer exist on the machine -- so that we maintain
-  say backups for 30 days, but if the file is deleted, we maintain
-  the last copy for 1 year.
-- Have Bacula "poll" the tape to see if it is there.
 - Add more of the config info to the tape label.
-- Implement bar code reader for autochangers
-- Add a default File storage so that new users can do backup
-  and restores right away.
 - Implement a Mount Command and an Unmount Command where
   the users could specify a system command to be performed
   to do the mount, after which Bacula could attempt to
@@ -77,22 +128,20 @@ For 1.30 release:
 - Make Restore report an error if FD or SD term codes are not OK.
 - CD into subdirectory when open()ing files for backup to
   speed up things.  Test with testfind().
-- Add prefixlinks to where or not where absolute links to FD.
 - Priority job to go to top of list.
 - Find out why Full saves run slower and slower (hashing?)
 - Why are save/restore of device different sizes (sparse?)   Yup! Fix it.
 - Implement some way for the Console to dynamically create a job.
 - Restore to a particular time -- e.g. before date, after date. 
-- Implement disk spooling
 - Solaris -I on tar for include list
-- Enable avoid backing up archive device (findlib/find_one.c:128)
+- Prohibit backing up archive device (findlib/find_one.c:128)
 - Need a verbose mode in restore, perhaps to bsr.
 - bscan without -v is too quiet -- perhaps show jobs.
 - Add code to reject whole blocks if not wanted on restore.
 - Start working on Base jobs.
+- Check if we can increase Bacula FD priorty in Win2000
 - Make sure the MaxVolFiles is fully implemented in SD
 - Check if both CatalogFiles and UseCatalog are set to SD.
-- Check if we can increase Bacula FD priorty in Win2000
 - Need return status on read_cb() from read_records(). Need multiple
   records -- one per Job, maybe a JCR or some other structure with
   a block and a record.
@@ -113,7 +162,6 @@ For 1.30 release:
 - Add JobLevel in FD status (but make sure it is defined).
 - Make Pool resource handle Counter resources.
 - Remove NextId for SQLite. Optimize.
-- Strip trailing / from Include
 - Move all SQL statements into a single location.
 - Add UA rc and history files.
 - put termcap (used by console) in ./configure and
@@ -122,7 +170,6 @@ For 1.30 release:
 - Fix Autoprune for Volumes to respect need for full save.
 - Fix Win32 config file definition name on /install
 - No READLINE_SRC if found in alternate directory.
-- Add Client FS/OS id (Linux, Win95/98, ...).
 - Test a second language e.g. french.
 - Compare tape to Client files (attributes, or attributes and data) 
 - Make all database Ids 64 bit.
@@ -151,7 +198,6 @@ For 1.30 release:
 - Implement script driven addition of File daemon to config files.
 - Think about how to make Bacula work better with File (non-tape) archives.
 - Write Unix emulator for Windows.
-
 - Implement new serialize subroutines
    send(socket, "string", &Vol, "uint32", &i, NULL)
 - Audit all UA commands to ensure that we always prompt where possible.
@@ -162,12 +208,6 @@ For 1.30 release:
 - Set flag for uname -a.  Add to Volume label.
 - Implement throttled work queue.
 - Check for EOT at ENOSPC or EIO or ENXIO (unix Pc)
-- Allow multiple Storage specifications (or multiple names on
-  a single Storage specification) in the Job record. Thus a job 
-  can be backed up to a number of storage devices.
-- Implement dump label to UA
-- Concept of VolumeSet during restore which is a list
-  of Volume names needed.
 - Restore files modified after date
 - Restore file modified before date
 - Emergency restore info:
@@ -249,8 +289,6 @@ For 1.30 release:
 - Need a structure for pending actions:
   - buffered messages
   - termination status (part of buffered msgs?)
-- Concept of grouping Storage devices and job can use
-  any of a number of devices
 - Drive management
   Read, Write, Clean, Delete
 - Login to Bacula; Bacula users with different permissions:
@@ -264,7 +302,6 @@ Longer term to do:
 - Identify unchanged or "system" files and save them to a
   special tape thus removing them from the standard 
   backup FileSet -- BASE backup.
-- Turn virutally all sprintfs into snprintfs.
 - Heartbeat between daemons.
 - Audit M_ error codes to ensure they are correct and consistent.
 - Add variable break characters to lex analyzer.
@@ -382,7 +419,7 @@ Item 5:   Implement Label templates
 
 
 Item 6:   Write a regression script.
-Started
+Done --   Continue to expand its testing.
 
   What:   This is an automatic script that runs and tests as many features
           of Bacula as possible. The output is compared to previous
@@ -908,4 +945,33 @@ rufus-dir: Volume used once. Marking Volume "File0003" as Used.
 - Need to specify MaximumConcurrentJobs in the Job resource.
 - ***test GetFileAttributexEx, and remove MessageBox at 335 of winservice.cpp ****
 - Implement finer multiprocessing options.
-
+- Implement | and < in Exclude statements.
+- Figure out some way to specify a retention period for files
+  that no longer exist on the machine -- so that we maintain
+  say backups for 30 days, but if the file is deleted, we maintain
+  the last copy for 1 year.  -- answer Volume retention.
+- Make non-zero status from RunJobBefore/After error the job.
+- Need define of int_least16_t in sha1.h for SuSE.
+- Implement bar code reader for autochangers
+- Document new MaximumConcurrentJob records (Job, Client, Storage) 
+- Write up how to use/manage disk Volume Storage. ******
+- Remove kern and kelvin from mysql_grant...
+- Install grant_mysql...
+- Strip trailing / from Include
+- add #define ENABLE_NLS for Gnome compile on SuSE.
+- Add Client FS/OS id (Linux, Win95/98, ...).
+- Concept of VolumeSet during restore which is a list
+  of Volume names needed.
+- Turn virutally all sprintfs into snprintfs.
+- Update volume=Test01 requests pool, then lists volumes.
+  **** Test select_pool_and_media ...
+- Document relabel
+- Add IP address to authentication failures. 
+- Add a default File storage so that new users can do backup
+  and restores right away.
+- Forbid sbindir and with-subsys-dir from being the same (otherwise
+  the binary gets deleted when the daemon is stopped in the
+  rc.d/inid.d directory.
+- Do not ignore SIGCHLD
+- Add Cleaning to list of volume statuses 
+- Implement run at "xxx"