Release Notes for Bacula 1.31 Bacula code: Total files = 258 Total lines = 76,681 (*.h *.c *.in) Major Changes this Release: - Implemented a new job scheduling algorithm with priorities. - The database format has changed from version 1.30a. Please see below. - Support to save and restore all files on WinNT/2K/XP systems including the permissions. Unfortunately files that are in use by another program cannot be saved -- complain to Microsoft about this. - Support for Win95 systems (untested since I don't have Win95). - Heartbeat every 20 minutes between daemons to prevent network timeouts. The heartbeat interval can be set. - Volume names may now only contain letters, numbers, colon, period, dash, and underscore. - Added readline to depkgs (removed from depkgs1) and fixed configuration if it is not installed in your system libraries. - Implemented generalized tape label formats including counter variables for automatic naming of Volumes. - Multiple simultaneous jobs now work. However, I still don't using recommend it. - Implemented tape block rejection, which means that restores with several incremental backups will run orders of magnitude faster. Other Changes this Release: - New Priority record in Jobs for setting job priorities. - The name of Recycle Oldest Volume has now become Purge Oldest Volume. - Implemented a Recycle Oldest Volume, which respects Retention periods. - Implemented a Recycle Current Volume, which respects Retention periods. - Restore checks block numbers to ensure that no block is lost. - The new console var command allows testing variable expansion used in automatic tape name generation. - The new console estimate command allows you to test FileSets to see how many files and bytes will be saved and optionally to have an "ls -l" style listing of the files. - During a normal restore (replace = yes), any existing file is deleted and the restored file is then created. This corrects links and other wierd files that changed between the backup and the restore. - Preliminary support for BSDi. - Use smtp instead of mail to send the traceback message. - Fixed a race condition in the "list" command while a backup is in progress. - Improvements to gnome-console. - Prune orphaned jobs (no files saved, no Volume used). - Added non-fatal errors to Job reports and statistics from both the FD and SD for backups. - Eliminate need for SubsysDirectory in each daemon -- please remove these records from your .conf files. - Add a lot more "command line" options to console commands. - More info in traceback (database type, ...). - Better handling of errors with autochangers during restore. - Better cancellation of jobs in Storage daemon (doesn't try to cleanup twice). - Better cancellation of File daemon (except on Cygwin systems). - SD error messages such as autochanger errors are now properly directed back to Console -- previously some were lost. - A Storage daemon crash on FreeBSD systems (due to a different FreeBSD pthreads implementation) is fixed. - Better Job termination report particularly for Verify and Restore jobs. - Update Verify VolumeToCatalog to use new BSR records. - Fixed list last 20 jobs in restore command (previously reported any 20 jobs). - Gnome command line history works better. - Better messages if a job is upgraded from Diff or Inc to Full. - Replaced FileSet MD5 with date created -- more aestetic and readable. - Fixed a FD crash on long directory names (Win32 specific). - Added backup script to the examples directory. This allows one command to backup any client. For Win32, the release now contains CygwinBackup.bat and Backup.bat, as well as backup. The bat files call the backup file. By placing an icon on your desktop, you can double click and backup your client. Items to note: !!!!! - Recycle Oldest Volume has changed to be Purge Oldest Volume Please change your Director's .conf file. Recycle Oldest Volume still works but respects retention periods. - The default time interval is now days instead of seconds. Please check your .conf files! - For MySQL users, you must have the thread safe client libraries available. If you build MySQL yourself, add the --enable-thread-safe-client option on the ./configure. You will most likely need to do an ldconfig. Please see the installation documentation for building MySQL. - Version 1.31 and 1.30 daemons/Director are not compatible. You must upgrade all or nothing. - The format of the catalog database has changed, so you must either re-initialize your database (losing all the old info) with: ./drop_bacula_tables ./make_bacula_tables or you can use the appropriate script (you must choose the name according to which database you have) in the /src/cats directory. BEFORE APPLYING THE ALTER SCRIPT PLEASE BACKUP YOUR DATABASE. If you have previously upgraded to version 1.31, please do not run this procedure a second time. Do one of the following only if you wish to keep your old tables (not doing the re-initialize documented above), and do this only after configuring an building the new Bacula, but before trying to run it: MySQL: cd working-directory (or where you want to backup the catalog) mysqladmin -f --opt bacula >bacula.sql cd /src/cats ./alter_mysql_tables SQLite: cd working-directory echo '.dump' sqlite bacula.db >bacula.sql cd /src/cats ./alter_sqlite_tables When you are sure that Bacula is running with your upgraded database, please delete the bacula.sql copy you made.