]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/ReleaseNotes
Sort dot commands
[bacula/bacula] / bacula / ReleaseNotes
index 91348f357f3d20880712a449ae50431f29aac2de..8873284c340572444fae93174465fff239806a05 100644 (file)
 
-          Release Notes for Bacula 1.33.4
-
-  Bacula code: Total files = 306 Total lines = 90,715 (*.h *.c *.in)
-
-Major Features:
-- Data spooling which eliminates tape shoe-shine during Inc backups,         
-  and permits multiple simultaneous backups without interleaved blocks.
-- Native Win32 client -- much faster and restores permissions correctly
-  (thanks to Christopher Hull)
-- PostgreSQL database driver (thanks to Dan Langille).
-- Polling of devices eliminating need to unmount and mount from
-  console.
-- Improved Autochange support of Slots (update slots scan).
-- Autochanger support for multiple drives.
-- New conio code to implement Console command line editing and history.
-- JobDefs resource permits smaller .conf files for Director
-- Access console lists for the Console
-- Pool level overrides.
-- Daemon statistics memory.
-- Improved btape "test" and "fill" commands.
-
-
-Items to note:  !!!!!
-- The restore default is changed to have nothing selected by default.
-  You must either enter: "restore all" or after getting into the tree
-  selection prompt enter "mark *" to have everything selected.
-- In previous versions the "all" keyword on the restore command caused
-  it to return without user interaction after selecting everything. 
-  This function is now replaced by the "done" keyword (more logical).
-  The "all" keyword now causes everything to be selected by default.
-- The default tape driver behavior is now to write only a single EOF
-  at the end of the tape. For most tape drives, this is totally            
-  transparent and nothing needs to be done. For FreeBSD see below.
-- FreeBSD users NOTE!!!!!
-  You may need the following two records to your SD Device resource for
-  tape drives.
-
-     TWOEOF = yes
-     Fast Forward Space File = no
-
-  The "Fast Forward Space File" is surely needed, and the TWOEOF          
-  is needed on some systems and not others. Running the btape
-  "test" command will tell you.
-
-- The daemon protocol has changed, you must update everything at once.
-- The database level has been updated. You must either re-initialize
-  your databases with:
-   
-    ./drop_bacula_tables
-    ./make_bacula_tables
-
-  which will delete ALL prior catalog information, or you can
-  update your database with:
-
-    ./update_bacula_tables
-
-  Please save your old database before dropping the tables or doing
-  an upgrade or you may regret it later.
-
-- smtp has now become bsmtp -- you *must* modify your .conf files.
-- console has now become bconsole.
-- console.conf is now bconsole.conf
-- Please don't underestimate the repercussions of the bsmtp and bconsole 
-  name changes!
-
-
-New directives:
-- "Close on Poll = yes/no" in SD Device resource.
-- "Volume Poll Interval = time-interval" in SD Device resource.
-- "Two EOF = yes/no" in SD Device resource.
-- "Maximum Network Buffer Size = size" in SD Device resource.
-- "Maximum Network Buffer Size = size" in FD FileDaemon (or Client) resource.
-- "Console" new resource in Director conf file.
-     New directives: Name, Description, Password, JobACL, ClientACL,
-        StorageACL, ScheduleACL, RunACL, PoolACL, CommandACL,
-        FileSetACL, CatalogACL.
-- "Max Run Time = duration" in Director Job resource.
-- "Max Wait Time = duration" in Director Job resource (not fully implemented).
-- "JobDefs = name-of-resource" in Director Job resource.
-- "Jobdefs" new resource in Director. Same directives as for a Job.
-- "Full Backup Pool = xxx" in Job resource in the Director.
-- "Incremental Backup Pool = xxx" in Job resource in the Director.
-- "Differential Backup Pool = xxx" in Job resource in the Director.
-- Three new options on the Run override statement in a Schedule resource:
-   FullPool=xxx
-   IncrementalPool=xxx
-   DifferentialPool=xxx
-- SpoolData=yes/no in DIR Job resource
-- SpoolData=yes/no in Run override directive.
-- MaximumSpoolSize in SD Device resource
-- MaximumJobSpoolSize in SD Device resource
-- SpoolDirectory in SD Device resource.
-
-New Commands:
-- "SetIP"
-- Added "pool=xxx" to restore command line.
-- Added "fileset=xxx" to restore command line.
-- Fixed "storage=xxx" on restore command line.
-- "markdir" command in restore tree.
-- "unmarkdir" command in restore tree.
-- "quit" command in restore tree.
-- Trace option on "setdebug trace=1/0 ..."
-- Update slots scan
-- The "all" keyword on the restore command marks all files by default.
-- The "done" keyword prevents user interaction with the tree -- used
-  mostly for batch scripting.
-
-
-Additional changes:
-- Implement Gnome 2.0 restore GUI
-- Add a missing unlock in the jobq handler.
-- Fix bug where a soft linked file and a directory had the same name
-  by treating the soft link as a directory and putting the entries under
-  it. This fixes the bug reported by Alexander Mueller.
-- Apply Jess Guardiani's second fix to list autochanger volumes without
-  opening the drive (necessary on FreeBSD if no tape is in the drive).
-- Reworked the command line handler in restore to walk through the
-  arguments one at a time. This makes the file= entries work correctly.
-  Also reworked the code that takes the MediaType and finds a 
-  storage device.
-- Add quit command to restore tree handler.
-- Make restore tree handler remember if a hard link is present, and
-  in doing a mark, only get database entry if there is a hard link.
-  mark commands thus run at least 2 orders of magnitude faster.
-- Add files=xxx field to run command submitted for restore.   
-- Add yes to restore run command if either yes or run is command line
-  argument.
-- Make "yes" on command line argument skip prompt for modification of
-  run job.
-- Add markdir and unmarkdir -- both affect only the directory in
-  question and do not do a recursive descent.
-- Make tree command automatically mark all higher level directories to
-  be restored when a directory or a file is selected.  Such directories
-  are indicated by preceding the name with a + to indicate that only
-  the directory entry is selected and not the whole directory tree.
-- Modify a few tree commands to walk through all arguments rather than
-  just taking the first one.
-- Improved btape "test" and "fill" commands.
-- The ability to ask the Storage daemon on a device by device basis
-  to "poll" the tape drive at a given interval (minimum 1 minute). If
-  a tape is found, its label is read and if appropriate it is used.
-  This eliminates the need to do "mount" commands.
-- The ability to close and re-open the device when a poll occurs. 
-  This permits dealing with certain recalcitrant autochangers that
-  invalidate devices (typically on FreeBSD).
-- Dan Langille has written a PostgreSQL driver for Bacula.
-- Implement "update slots scan" that reads the volume label(s).
-- The full form of the scan is "scan=1,2,4-5,7". With no specification,
-  all occupied slots are scanned.
-- Turn off changer Volumes that are not current in the changer when
-  an "update slots" is done, or if any tape operation discovers that
-  the right volume is not in the slot.
-- The console program will run all commands it finds in ~/.bconsolerc
-  at startup.
-- Add Dan Langille's changes to the bacula start/stop script that 
-  permit dropping root permissions just after startup.
-- New version 1.5.5-1 Cygwin.
-- Modify SD to update the catalog database when it is shutdown,
-  even if the job is canceled.
-- Fixed seg fault in restore of multiple simultaneous jobs to 
-  a single Volume.
-- Fixed thread race problem in multiple simultaneous jobs to
-  a single Volume where the volume label is not in the first 
-  tape block, so the tape is not recognized.
-- Restore directory tree automatically selects all higher level
-  directories to be restored.
-- Implement conio.c to use in console program -- mini-readline.
-- Enhance "fill" command of btape -- simpler output. Use -v to
-  cause last block to be dumped after write and after re-read.
-- Added an autochanger test to the btape "test" command. It is 
-  automatically invoked if the autochanger is properly configured.  It
-  is still a bit primitive but covers the essential of testing
-  the mtx-changer script with your autochanger.
-- Select the oldest LastWritten volume during recycling.
-- Added forward space file test to btape "test" command.
-- All 1.32d patches applied.
-- Fixed seg fault in restore of multiple simultaneous jobs to 
-  a single Volume.
-- Fixed thread race problem in multiple simultaneous jobs to
-  a single Volume where the volume lable is not in the first 
-  tape block, so the tape is not recognized.
+          Release Notes for Bacula 1.39.20
+
+  Bacula code: Total files = 448 Total lines = 150,330 (*.h *.c *.in)
+
+Version 1.39.20:
+- The basic features of Migration are now complete.
+- There is a Migration chapter in the doc.
+  http://www.bacula.org/dev-manual/Migration.html
+- There is an Encryption chapter in the doc.
+  http://www.bacula.org/dev-manual/Bacula_Data_Encryption.html
+
+New Features in 1.39.20:
+- Add -n option to bconsole to turn off conio.
+- The bytes field in the terminated jobs part of the status
+  command now reports in KB, MB, ... units.
+- When not descending into a directory, print the File= name that
+  triggered it -- makes why not descending a bit clearer
+- Do not unload autochanger when doing "update slots"
+- Implement mount command for autochanger
+
+Fixes for 1.39.20:
+- Writing DVDs should work much better thanks to Richard Mortimer.
+- Fix bug #462 incorrect error message printed when client script called
+  from File= was not found.
+- Fix bug #558 (waiting for feedback) where Bacula needs too much time to
+  do a rewind on Solaris when no tape is in the drive (Solaris does not
+  have the detailed errno found on Linux).  Added Solaris specific code.
+  Note, this may apply to other OSes as well.
+- Many cleanups/enhancements for Win32 systems.
+- Correct improperly formated list command output reported by Dan.
+- Eric fixed RunScripts, which I (Kern) had broken in the last beta.
+- Correct Client migration SQL as pointed out by Marc.
+
+==========================================
+
+Warning for version 1.39.18 and greater:
+- The documentation is almost non-existent for all new features
+  except RunScripts (written and documented by Eric Bollengier).
+- If you have an old pre 1.39.18 database, you must upgrade it using
+  the upgrade_bacula_tables script. Please backup your database before
+  upgrading just in case.
+- You *should* be able to use 1.38.x FDs with version 1.39.18 Director
+  and SD providing you do not use any of the new features (runscript,   
+  data encryption). It seems to work here, but we do not guarantee it.
+- Your Director and SD must be simultaneously upgraded.
+- The restore command no longer uses the MediaType as the primary method
+  of finding a suitable Storage device. Normally it will select the last
+  device used to write a Volume. If no storage device is defined, it
+  will use the old algorithm which selects the first Storage resource  
+  with the correct MediaType.
+- The MD5/SHA1 hash codes kept in the database are now kept in a binary
+  format compatible with the rest of the world. If you are running verify 
+  jobs, you *must* do an InitCatalog or all files will show an MD5   
+  difference.  Also, authentication uses the new algorithm by
+  default, but *should* accept connections from older components (FD) using
+  the old non-compatible algorithm. This has been tested, but more
+  more testing is still needed.  
+- The --mandir ./configure option now points to the top level man
+  directory.  The man files will be installed under mandir/man8 and
+  mandir/man1 as appropriate.
+- The "Accept Any Volume" directive has been removed. It was never
+  implemented. Bacula will always accept any valid tape that is in   
+  the drive for appending.
+- To install the 1.39.18 Win32 FD, you *must* first stop any    
+  previous version that is running in a DOS shell with:
+
+     net stop bacula
+
+  or select the 'Close Bacula' menu item from the Bacula tray icon,
+  you should then save your bacula-fd.conf file, and either
+  uninstall (using Uninstall.bat in the c:\bacula directory) or
+  remove the old installation by manually in a DOS shell in the
+  Bacula directory enter:
+
+     bacula-fd /remove
+
+  after that you can proceed with the installation.  My experience
+  is that it does not properly create the new bacula-fd.conf file, so
+  copy the one saved to the directory you chose to install Bacula,
+  or to the directory chosen by the Installer to put the bacula-fd.conf
+  file.  Then you can start Bacula in a DOS shell with:
+
+    net start baculafd
+
+  or use the Windows Control Panel->Administrative Tools->Component
+  Services menu item.  
+
+
+A Lot of New features for 1.39.18:
+- Switch the Win32 build from using Microsoft C++ to using mingw32
+  cross-compiling.  The inital work was done by Howard Thomson,
+  then tweaked by me.  Robert Nelson then totally reworked the
+  cross-compiling code so that it not only cross-compiles, but
+  also compiles on Visual Studio, and at the same time, he added
+  all the current Unix features to the FD, such as selection on
+  drives, encryption support, building *all* the tools, ...
+  Finally, he also ported the Directory and the Storage daemon to
+  Win32.
+- Data encryption done in the Client is now supported due to code
+  submitted by Landon Fuller.
+- Bacula restore and bextract can now extract non-portable Win32 data to
+  any client (including Unix/Linux clients). Of course, in doing so,
+  the Microsoft specific permissions and ACLs will be lost.  Thanks
+  to Thorsten Engel for this code.
+- The 260 character limitation for Win32 paths name lengths is now 
+  eliminated thanks to Thorsted Engel.
+- Eric Bollengier wrote new RunScript directives that includes
+  the old RunBefore/AfterJob and ClientRunBefore/AfterJob features
+  plus a *lot* more, allowing you to control just about every aspect
+  of running scripts.  See the manual for detailed documentation.
+  http://www.bacula.org/dev-manual/Configuring_Director.html#5227
+- The examples directory has a new bacula_mail_summary.sh file that
+  creates a single email summary of any number of jobs. Submitted by
+  Andrew J. Millar.
+- SunOS ACLs should now work thanks to a patch from David Duchscher.
+- The database Id records should be 32/64 bit independent now. 64 bits
+  can be enabled by changing one define, but this has never been tested.
+- Apply days keyword patch from Alexander.Bergolth at wu-wien.ac.at
+  If this patch is applied, the number of days can be specified with
+  "list nextvol days=xx"
+  or
+  "status dir days=xx"
+  My use case is to be able to preview the next scheduled job (and the
+  next tape to be used) on fridays if there are no scheduled jobs during
+  the weekend.  This patch was probably back ported to 1.38.x
+- Add nagios plugin to the examples directory. Submitted by
+  Christian Masopust.
+- Modify most restore error messages to be queued so that they
+  appear at the end of the job rather than mixted with the restore
+  listing where they could be "lost".
+- Apply patch supplied by user (slightly modified) to fix
+  correct detection of holes in block devices and FIFOs.
+  Bug # 506.
+- Added a report.pl program to the examples directory from Jonas Bjorklund.
+- Add enable/disable job=<job-name>.  This command prevents
+  the specified job from being scheduled. Even when disabled,
+  the job can be manually started from the console.
+- Add two new queries to query.sql provided by Arno. One
+  list volumes known to the Storage device, and the other
+  lists volumes possibly needing replacement (error, ...).
+- Implement new code for changing userid and group at startup. This
+  should get Bacula into the correct groups.
+- Implement support for removable filesystems.
+- Transfer rates are now presented in a more readable format thanks
+  to a user submission.
+- SD is now aware of what volumes are mounted. More information is printed
+  in the Status report.
+- The Pool Maximum Volumes directive is now respected in all places.
+- A Storage device can now be specified in a Pool resource. It will override
+  all other Storage specifications.
+- Most but not all directives accept true/false in place of yes/no.
+- A patch from Karl Hakimian that reads JobIds, FileIndexes
+  from a database table for restore.
+- There are a number of new tables. Some such as the Location table are
+  designed for user use in doing Volume Management software.
+- Maximum Changer Wait, Maximum Open Wait, Maximum Rewind Wait to
+  accept time qualifiers.
+- Implement jobuid to replace old usage of job in keywords as
+  suggested by Eric Bollengier.
+- Apply patch for enhancing wait from Eric Bollengier. One can now:
+   wait  (wait for all jobs to stop)
+   wait jobid=nn
+   wait jobuid=unique id
+   wait job=job-name
+- Implement write variables for Python to set Priority (anytime), and
+  Job Level, only during JobInit event.
+- Use the keyword ujobid to mean the unique job id; job or jobname
+  to mean the Job name given on the Name directive, and jobid to
+  be the numeric (non-unique) job id.
+- Allow the SD to use multiple drives during a backup/restore (only
+  one at a time). This is not well tested.
+- Integrate addition of line count limitation to bsmtp -l from
+  Sebastian Stark <stark at tuebingen.mpg.de>
+- Split the bacula start/start script into four files:
+   bacula         -- starts and stops calling other scripts
+   bacula-ctl-dir -- starts/stops the director
+   bacula-ctl-fd  -- starts/stops the File daemon
+   bacula-ctl-sd  -- starts/stops the Storage daemon
+- Remove automatic case folding on Windows FDs. You must
+  explictly use the 'Ignore Case = yes' option.
+- Implement wild program in tools directory for testing
+  wild-cards. Almost identical to the regex program.
+- Use the new bregex.c to implement Regex expressions on Win32.
+- Apply patch from Christopher Hull
+  - Allow multiple connections to database with different
+    parameters.
+  - Invalidate the scheduler when doing a reload. Fixes seg
+    fault, but still 60 second window.
+  - Additional info in Reschedule message.
+  - Use set_jcr_job_status() everywhere to prevent loss of
+    cancel, error.
+  - Display peer IP in FD if error from connecting DIR.
+  - Don't increment file count for DIRBEGIN.
+  - Replace illegal characters in Win32 filename by _.
+  - Add SE_CREATE_PERMANENT_NAME privilege in Win32.
+  - Hash hard link filenames rather than linked list (performance).
+  - Fix for security failure in chdir on Win32.
+  - Add CreateDirectoryA/W win32 API entry points.
+- Add /silent option to Win32 FD for Install/Remove service.
+  programs to duplicate Bacula's base64 algorithm using standard
+  routines. This fixes bugs #296, and 565. Patch submitted by
+  author of bug #565.
+- Fixes to reloading the Dir conf file from Eric Bollengier and Christopher
+  Hull.
+- Modify LICENSE to correct some problems pointed out by Debian.
+- Apply a patch submitted by cesarb in bug #606 to implement O_NOATIME support.
+    O_NOATIME is a open() flag which makes it possible to read a file without
+    updating the inode atime (and also without the inode ctime update which
+    happens if you try to set the atime back to its previous value). It also
+    prevents a race condition when two programs are reading the same file, but
+    only one does not want to change the atime. It's most useful for backup
+    programs and file integrity checkers (and bacula can fit on both
+    categories).                                                    
+  You enable it in the Bacula FileSet Options resource by setting:
+     noatime = yes
+  The effect of this option is similar to the keepatime option except
+  it is more efficient and avoids modifying ctime.
+- Implement a pile of new man pages contributed by Jose Tallon.
+- Implement a number of user supplied patches for DVD writing.
+- Modify the database format for handling Migration jobs:
+   Add PriorJobId, RealEndTime to Job table
+   Delete MAC table
+   Remove Stripe from JobMedia record (not used, wasting space)
+   Add ScratchPoolId, RecyclePoolId, Enabled to Media record
+   Add Cost to Location table.
+   Enabled to Media table and Location table.
+- Security: harden authentication failure in FD by single threading errors
+  and forcing a 6 second wait.
+- If using GCC (actually g++) add the following compiler flags
+  -fno-strict-aliasing -fno-exceptions -fno-rtti
+- Turn on new bsnprintf() code.  This could cause print output
+  to look different.
+- Implement job report that indicates where Storage and Pool
+  came from -- with overrides and Pool storage and NextPool,
+  it is all very complicated.
+- Add more detail (Storage, Device) to list of volumes printed
+  for restore.
+- Add new VOLMGMT message class. No messages are yet sent with this 
+  class.
+- Add Catalog message destination in Messages resource that puts the
+  job report in the Log database table.
+- Spend a lot of time integrating mkcdrec with the rescue disk.
+- Add spooling/despooling info in status output of SD.
+- Add Comment field to llist of a volume.
+- Allow true/false in some yes/no questions.
+- Implement update volume enable=(on|off|true|false|archived|0|1|2)
+
+Additional Features Added for Win32:
+
+Added DriveType directive to the Director's Include Option FileSet
+resource.  Allowed values are: fixed, removable, cdrom, and remote.  There
+is only an implementation for Windows because it is the only platform that
+has the concept of drives.
+Adds EnhancedWild directive to the Director's Include Option FileSet
+resource.  Allowed values are: yes and no.
+When EnhancedWild is enabled then the processing of the
+Wild, WildDir and WildFile is changed in the following ways.
+  Patterns conform to Posix
+      \ is not a special character in character classification []
+      To match a - it must be the first or last character
+      To match a ] it must be the first character
+      fnmatch option FNM_FILE_NAME is specified * doesn't match a / 
+      so it won't match multiple directory levels in a path
+Relative WildFile patterns (ones without a leading /) match
+against the filename portion.  This in combination with the
+FNM_FILE_NAME fnmatch() flag makes directives such as WildFile =
+abc*.def work as expected.
+Adds support for the shell's feature of brace expansion.
+
+Here is an example where braces allow 24 lines to be expressed in 5.
+
+# Exclude directories full of lots and lots of useless little files
+WildDir = "[A-Z]:/{Documents and
+Settings,{WINNT,Windows}/Profiles}/*/Cookies"
+WildDir = "[A-Z]:/{Documents and
+Settings,{WINNT,Windows}/Profiles}/*/Recent"
+WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local
+Settings,LOCALS~1}/History"
+WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local
+Settings,LOCALS~1}/Temp"
+WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local
+Settings,LOCALS~1}/Temporary Internet Files"
+
+
+
+Here are some hints if you want to play with the Windows Director and/or
+Storage daemon.
+Changer and Tape device names in Windows are Changer0, Changer1, etc and
+Tape0, Tape1, etc.  If there isn't a device driver loaded for the Changer
+then you need to use the address <Port>:<Bus>:<Target>:<Lun>.  Port is the
+SCSI Adapter Number, Bus is the Bus Number on the adapter (usually 0 since
+most adapters only have one bus), Target is the device's Target Device ID,
+Lun is the Logical Unit Number.
+You must specify DeviceType = tape in the Device resource in bacula-sd.conf
+since detection doesn't currently work.