From 9adcddc95c75ba264f36872892e6d3af0df9b5ec Mon Sep 17 00:00:00 2001 From: Kern Sibbald Date: Wed, 6 May 2009 20:02:26 +0000 Subject: [PATCH] 06Apr09 kes Update projects file. 04Apr09 kes Add --with-bsrdir and --with-logdir for placement of Bacula bsr files and Bacula log files. git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@8811 91ce42f0-d328-0410-95d8-f526ca767f89 --- bacula/autoconf/configure.in | 32 ++++ bacula/configure | 80 +++++--- bacula/projects | 355 +++-------------------------------- bacula/src/version.h | 4 +- bacula/technotes | 6 + 5 files changed, 126 insertions(+), 351 deletions(-) diff --git a/bacula/autoconf/configure.in b/bacula/autoconf/configure.in index 45659021db..76652a07d9 100644 --- a/bacula/autoconf/configure.in +++ b/bacula/autoconf/configure.in @@ -1212,6 +1212,38 @@ AC_ARG_WITH(scriptdir, AC_SUBST(scriptdir) + +dnl ------------------------------------------ +dnl Where to place bsrdir (bsr files) +dnl ------------------------------------------ +bsrdir=/tmp +AC_ARG_WITH(bsrdir, + AC_HELP_STRING([--with-bsrdir=PATH], [specify path of Bacula bsrs directory]), + [ + if test "x$withval" != "xno" ; then + bsrdir=$withval + fi + ] +) + +AC_SUBST(bsrdir) + +dnl ------------------------------------------ +dnl Where to place logdir (bsr files) +dnl ------------------------------------------ +logdir=/tmp +AC_ARG_WITH(logdir, + AC_HELP_STRING([--with-logdir=PATH], [specify path of Bacula logs directory]), + [ + if test "x$withval" != "xno" ; then + logdir=$withval + fi + ] +) + +AC_SUBST(logdir) + + # ------------------------------------------ # Where to place plugindir (plugin files) # ------------------------------------------ diff --git a/bacula/configure b/bacula/configure index 088d982847..43f9bc50a2 100755 --- a/bacula/configure +++ b/bacula/configure @@ -986,6 +986,8 @@ OPENSSL_INC working_dir archivedir scriptdir +bsrdir +logdir plugindir dump_email job_email @@ -1695,6 +1697,8 @@ Optional Packages: --with-working-dir=PATH specify path of Bacula working directory --with-archivedir=PATH specify path of SD archive directory --with-scriptdir=PATH specify path of Bacula scripts directory + --with-bsrdir=PATH specify path of Bacula bsrs directory + --with-logdir=PATH specify path of Bacula logs directory --with-plugindir=PATH specify path of Bacula plugins directory --with-dump-email=EMAIL dump email address --with-job-email=EMAIL job output email address @@ -5988,13 +5992,13 @@ if test "${lt_cv_nm_interface+set}" = set; then else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:5991: $ac_compile\"" >&5) + (eval echo "\"\$as_me:5995: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 - (eval echo "\"\$as_me:5994: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval echo "\"\$as_me:5998: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 - (eval echo "\"\$as_me:5997: output\"" >&5) + (eval echo "\"\$as_me:6001: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" @@ -7215,7 +7219,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 7218 "configure"' > conftest.$ac_ext + echo '#line 7222 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -9430,11 +9434,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:9433: $lt_compile\"" >&5) + (eval echo "\"\$as_me:9437: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:9437: \$? = $ac_status" >&5 + echo "$as_me:9441: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -9769,11 +9773,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:9772: $lt_compile\"" >&5) + (eval echo "\"\$as_me:9776: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:9776: \$? = $ac_status" >&5 + echo "$as_me:9780: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -9874,11 +9878,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:9877: $lt_compile\"" >&5) + (eval echo "\"\$as_me:9881: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:9881: \$? = $ac_status" >&5 + echo "$as_me:9885: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -9929,11 +9933,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:9932: $lt_compile\"" >&5) + (eval echo "\"\$as_me:9936: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:9936: \$? = $ac_status" >&5 + echo "$as_me:9940: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -12685,7 +12689,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12688 "configure" +#line 12692 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12781,7 +12785,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12784 "configure" +#line 12788 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -14793,11 +14797,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14796: $lt_compile\"" >&5) + (eval echo "\"\$as_me:14800: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:14800: \$? = $ac_status" >&5 + echo "$as_me:14804: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -14892,11 +14896,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14895: $lt_compile\"" >&5) + (eval echo "\"\$as_me:14899: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:14899: \$? = $ac_status" >&5 + echo "$as_me:14903: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -14944,11 +14948,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14947: $lt_compile\"" >&5) + (eval echo "\"\$as_me:14951: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:14951: \$? = $ac_status" >&5 + echo "$as_me:14955: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -27362,6 +27366,38 @@ fi + +bsrdir=/tmp + +# Check whether --with-bsrdir was given. +if test "${with_bsrdir+set}" = set; then + withval=$with_bsrdir; + if test "x$withval" != "xno" ; then + bsrdir=$withval + fi + + +fi + + + + +logdir=/tmp + +# Check whether --with-logdir was given. +if test "${with_logdir+set}" = set; then + withval=$with_logdir; + if test "x$withval" != "xno" ; then + logdir=$withval + fi + + +fi + + + + + # ------------------------------------------ # Where to place plugindir (plugin files) # ------------------------------------------ @@ -44187,6 +44223,8 @@ OPENSSL_INC!$OPENSSL_INC$ac_delim working_dir!$working_dir$ac_delim archivedir!$archivedir$ac_delim scriptdir!$scriptdir$ac_delim +bsrdir!$bsrdir$ac_delim +logdir!$logdir$ac_delim plugindir!$plugindir$ac_delim dump_email!$dump_email$ac_delim job_email!$job_email$ac_delim @@ -44249,7 +44287,7 @@ DISTVER!$DISTVER$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 93; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 95; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 diff --git a/bacula/projects b/bacula/projects index 2ef8fcf575..e3f611b426 100644 --- a/bacula/projects +++ b/bacula/projects @@ -26,7 +26,7 @@ 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: Add EFS support on Windows +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 @@ -34,8 +34,7 @@ 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 28:'restore' menu: enter a JobId, automatically select dependents -Item 31: Backup and Restore of Windows Encrypted Files using Win raw encryption +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 @@ -661,27 +660,32 @@ Item 22: Enable/disable compression depending on storage device (disk/tape) be well defined. +Item 31: Backup and Restore of Windows Encrypted Files using Win raw encryption + Origin: Michael Mohr, SAG Mohr.External@infineon.com + Date: 22 February 2008 + Origin: Alex Ehrlich (Alex.Ehrlich-at-mail.ee) + Date: 05 August 2008 + Status: -Item 23: Add EFS support on Windows - Origin: Alex Ehrlich (Alex.Ehrlich-at-mail.ee) - Date: 05 August 2008 - Status: - - What: For each file backed up or restored by FD on Windows, check if - the file is encrypted; if so then use OpenEncryptedFileRaw, - ReadEncryptedFileRaw, WriteEncryptedFileRaw, - CloseEncryptedFileRaw instead of BackupRead and BackupWrite - API calls. + What: Make it possible to backup and restore Encypted Files from and to + Windows systems without the need to decrypt it by using the raw + encryption functions API (see: + http://msdn2.microsoft.com/en-us/library/aa363783.aspx) + that is provided for that reason by Microsoft. + If a file ist encrypted could be examined by evaluating the + FILE_ATTRIBUTE_ENCRYTED flag of the GetFileAttributes + function. + For each file backed up or restored by FD on Windows, check if + the file is encrypted; if so then use OpenEncryptedFileRaw, + ReadEncryptedFileRaw, WriteEncryptedFileRaw, + CloseEncryptedFileRaw instead of BackupRead and BackupWrite + API calls. - Why: Many laptop users utilize the EFS functionality today; so do. - some non-laptop ones, too. - Currently files encrypted by means of EFS cannot be backed up. - It means a Windows boutique cannot rely on Bacula as its - backup solution, at least when using Windows 2K, XPP, - "better" Vista etc on workstations, unless EFS is - forbidden by policies. - The current situation might result into "false sense of - security" among the end-users. + Why: Without the usage of this interface the fd-daemon running + under the system account can't read encypted Files because + the key needed for the decrytion is missed by them. As a result + actually encrypted files are not backed up + by bacula and also no error is shown while missing these files. Notes: Using xxxEncryptedFileRaw API would allow to backup and restore EFS-encrypted files without decrypting their data. @@ -956,7 +960,7 @@ Why: It is useful to be able to backup to any number of different storage the 'storaddr' command - where it logically belongs. -Item 28:'restore' menu: enter a JobId, automatically select dependents +Item 31: 'restore' menu: enter a JobId, automatically select dependents Origin: Graham Keeling (graham@equiinet.com) Date: 13 March 2009 @@ -982,28 +986,6 @@ What: Add to the bconsole 'restore' menu the ability to select a job date to which he wishes the restore to happen. -Item 31: Backup and Restore of Windows Encrypted Files using Win raw encryption - Origin: Michael Mohr, SAG Mohr.External@infineon.com - Date: 22 February 2008 - Status: - - What: Make it possible to backup and restore Encypted Files from and to - Windows systems without the need to decrypt it by using the raw - encryption functions API (see: - http://msdn2.microsoft.com/en-us/library/aa363783.aspx) - - that is provided for that reason by Microsoft. - If a file ist encrypted could be examined by evaluating the - FILE_ATTRIBUTE_ENCRYTED flag of the GetFileAttributes - function. - - Why: Without the usage of this interface the fd-daemon running - under the system account can't read encypted Files because - the key needed for the decrytion is missed by them. As a result - actually encrypted files are not backed up - by bacula and also no error is shown while missing these files. - - Notes: ./. Item 32: Possibilty to schedule Jobs on last Friday of the month Origin: Carsten Menke @@ -1296,286 +1278,3 @@ Item n: One line summary ... ========== Items put on hold by Kern ============================ - -Item h2: Implement support for stacking arbitrary stream filters, sinks. -Date: 23 November 2006 -Origin: Landon Fuller -Status: Planning. Assigned to landonf. - - What: Implement support for the following: - - Stacking arbitrary stream filters (eg, encryption, compression, - sparse data handling)) - - Attaching file sinks to terminate stream filters (ie, write out - the resultant data to a file) - - Refactor the restoration state machine accordingly - - Why: The existing stream implementation suffers from the following: - All - state (compression, encryption, stream restoration), is - global across the entire restore process, for all streams. There are - multiple entry and exit points in the restoration state machine, and - thus multiple places where state must be allocated, deallocated, - initialized, or reinitialized. This results in exceptional complexity - for the author of a stream filter. - - The developer must enumerate all possible combinations of filters - and stream types (ie, win32 data with encryption, without encryption, - with encryption AND compression, etc). - - Notes: This feature request only covers implementing the stream filters/ - sinks, and refactoring the file daemon's restoration - implementation accordingly. If I have extra time, I will also - rewrite the backup implementation. My intent in implementing the - restoration first is to solve pressing bugs in the restoration - handling, and to ensure that the new restore implementation - handles existing backups correctly. - - I do not plan on changing the network or tape data structures to - support defining arbitrary stream filters, but supporting that - functionality is the ultimate goal. - - Assistance with either code or testing would be fantastic. - - Notes: Kern: this project has a lot of merit, and we need to do it, but - it is really an issue for developers rather than a new feature - for users, so I have removed it from the voting list, but kept it - here, but at some point, it will be implemented. - -Item h3: Filesystem watch triggered backup. - Date: 31 August 2006 - Origin: Jesper Krogh - Status: - - What: With inotify and similar filesystem triggeret notification - systems is it possible to have the file-daemon to monitor - filesystem changes and initiate backup. - - Why: There are 2 situations where this is nice to have. - 1) It is possible to get a much finer-grained backup than - the fixed schedules used now.. A file created and deleted - a few hours later, can automatically be caught. - - 2) The introduced load on the system will probably be - distributed more even on the system. - - Notes: This can be combined with configration that specifies - something like: "at most every 15 minutes or when changes - consumed XX MB". - -Kern Notes: I would rather see this implemented by an external program - that monitors the Filesystem changes, then uses the console - - -Item h4: Directive/mode to backup only file changes, not entire file - Date: 11 November 2005 - Origin: Joshua Kugler - Marek Bajon - Status: - - What: Currently when a file changes, the entire file will be backed up in - the next incremental or full backup. To save space on the tapes - it would be nice to have a mode whereby only the changes to the - file would be backed up when it is changed. - - Why: This would save lots of space when backing up large files such as - logs, mbox files, Outlook PST files and the like. - - Notes: This would require the usage of disk-based volumes as comparing - files would not be feasible using a tape drive. - - Notes: Kern: I don't know how to implement this. Put on hold until someone - provides a detailed implementation plan. - - -Item h5: Implement multiple numeric backup levels as supported by dump -Date: 3 April 2006 -Origin: Daniel Rich -Status: -What: Dump allows specification of backup levels numerically instead of just - "full", "incr", and "diff". In this system, at any given level, - all files are backed up that were were modified since the last - backup of a higher level (with 0 being the highest and 9 being the - lowest). A level 0 is therefore equivalent to a full, level 9 an - incremental, and the levels 1 through 8 are varying levels of - differentials. For bacula's sake, these could be represented as - "full", "incr", and "diff1", "diff2", etc. - -Why: Support of multiple backup levels would provide for more advanced - backup rotation schemes such as "Towers of Hanoi". This would - allow better flexibility in performing backups, and can lead to - shorter recover times. - -Notes: Legato Networker supports a similar system with full, incr, and 1-9 as - levels. - -Notes: Kern: I don't see the utility of this, and it would be a *huge* - modification to existing code. - -Item h6: Implement NDMP protocol support - Origin: Alan Davis - Date: 06 March 2007 - Status: - - What: Network Data Management Protocol is implemented by a number of - NAS filer vendors to enable backups using third-party - software. - - Why: This would allow NAS filer backups in Bacula without incurring - the overhead of NFS or SBM/CIFS. - - Notes: Further information is available: - http://www.ndmp.org - http://www.ndmp.org/wp/wp.shtml - http://www.traakan.com/ndmjob/index.html - - There are currently no viable open-source NDMP - implementations. There is a reference SDK and example - app available from ndmp.org but it has problems - compiling on recent Linux and Solaris OS'. The ndmjob - reference implementation from Traakan is known to - compile on Solaris 10. - - Notes: Kern: I am not at all in favor of this until NDMP becomes - an Open Standard or until there are Open Source libraries - that interface to it. - -Item h7: Commercial database support - Origin: Russell Howe - Date: 26 July 2006 - Status: - - What: It would be nice for the database backend to support more databases. - I'm thinking of SQL Server at the moment, but I guess Oracle, DB2, - MaxDB, etc are all candidates. SQL Server would presumably be - implemented using FreeTDS or maybe an ODBC library? - - Why: We only really have one database server, which is MS SQL Server 2000. - Maintaining a second one for the backup software (we grew out of - SQLite, which I liked, but which didn't work so well with our - database size). We don't really have a machine with the resources - to run postgres, and would rather only maintain a single DBMS. - We're stuck with SQL Server because pretty much all the company's - custom applications (written by consultants) are locked into SQL - Server 2000. I can imagine this scenario is fairly common, and it - would be nice to use the existing properly specced database server - for storing Bacula's catalog, rather than having to run a second - DBMS. - - Notes: This might be nice, but someone other than me will probably need to - implement it, and at the moment, proprietary code cannot legally - be mixed with Bacula GPLed code. This would be possible only - providing the vendors provide GPLed (or OpenSource) interface - code. - -Item h8: Incorporation of XACML2/SAML2 parsing - Date: 19 January 2006 - Origin: Adam Thornton - Status: Blue sky - - What: XACML is "eXtensible Access Control Markup Language" and "SAML is - the "Security Assertion Markup Language"--an XML standard for - making statements about identity and authorization. Having these - would give us a framework to approach ACLs in a generic manner, - and in a way flexible enough to support the four major sorts of - ACLs I see as a concern to Bacula at this point, as well as - (probably) to deal with new sorts of ACLs that may appear in the - future. - - Why: Bacula is beginning to need to back up systems with ACLs that do not - map cleanly onto traditional Unix permissions. I see four sets of - ACLs--in general, mutually incompatible with one another--that - we're going to need to deal with. These are: NTFS ACLs, POSIX - ACLs, NFSv4 ACLS, and AFS ACLS. (Some may question the relevance - of AFS; AFS is one of Sine Nomine's core consulting businesses, - and having a reputable file-level backup and restore technology - for it (as Tivoli is probably going to drop AFS support soon since - IBM no longer supports AFS) would be of huge benefit to our - customers; we'd most likely create the AFS support at Sine Nomine - for inclusion into the Bacula (and perhaps some changes to the - OpenAFS volserver) core code.) - - Now, obviously, Bacula already handles NTFS just fine. However, I - think there's a lot of value in implementing a generic ACL model, - so that it's easy to support whatever particular instances of ACLs - come down the pike: POSIX ACLS (think SELinux) and NFSv4 are the - obvious things arriving in the Linux world in a big way in the - near future. XACML, although overcomplicated for our needs, - provides this framework, and we should be able to leverage other - people's implementations to minimize the amount of work *we* have - to do to get a generic ACL framework. Basically, the costs of - implementation are high, but they're largely both external to - Bacula and already sunk. - - Notes: As you indicate this is a bit of "blue sky" or in other words, - at the moment, it is a bit esoteric to consider for Bacula. - -Item h9: Archive data - Date: 15/5/2006 - Origin: calvin streeting calvin at absentdream dot com - Status: - - What: The abilty to archive to media (dvd/cd) in a uncompressed format - for dead filing (archiving not backing up) - - Why: At work when jobs are finished and moved off of the main - file servers (raid based systems) onto a simple Linux - file server (ide based system) so users can find old - information without contacting the IT dept. - - So this data dosn't realy change it only gets added to, - But it also needs backing up. At the moment it takes - about 8 hours to back up our servers (working data) so - rather than add more time to existing backups i am trying - to implement a system where we backup the acrhive data to - cd/dvd these disks would only need to be appended to - (burn only new/changed files to new disks for off site - storage). basialy understand the differnce between - achive data and live data. - - Notes: Scan the data and email me when it needs burning divide - into predefined chunks keep a recored of what is on what - disk make me a label (simple php->mysql=>pdf stuff) i - could do this bit ability to save data uncompresed so - it can be read in any other system (future proof data) - save the catalog with the disk as some kind of menu - system - - Notes: Kern: I don't understand this item, and in any case, if it - is specific to DVD/CDs, which we do not recommend using, - it is unlikely to be implemented except as a user - submitted patch. - - -Item h10: Clustered file-daemons - Origin: Alan Brown ajb2 at mssl dot ucl dot ac dot uk - Date: 24 July 2006 - Status: - What: A "virtual" filedaemon, which is actually a cluster of real ones. - - Why: In the case of clustered filesystems (SAN setups, GFS, or OCFS2, etc) - multiple machines may have access to the same set of filesystems - - For performance reasons, one may wish to initate backups from - several of these machines simultaneously, instead of just using - one backup source for the common clustered filesystem. - - For obvious reasons, normally backups of $A-FD/$PATH and - B-FD/$PATH are treated as different backup sets. In this case - they are the same communal set. - - Likewise when restoring, it would be easier to just specify - one of the cluster machines and let bacula decide which to use. - - This can be faked to some extent using DNS round robin entries - and a virtual IP address, however it means "status client" will - always give bogus answers. Additionally there is no way of - spreading the load evenly among the servers. - - What is required is something similar to the storage daemon - autochanger directives, so that Bacula can keep track of - operating backups/restores and direct new jobs to a "free" - client. - - Notes: Kern: I don't understand the request enough to be able to - implement it. A lot more design detail should be presented - before voting on this project. - - Feature Request Form diff --git a/bacula/src/version.h b/bacula/src/version.h index d0813f2cee..c021c6b069 100644 --- a/bacula/src/version.h +++ b/bacula/src/version.h @@ -4,8 +4,8 @@ #undef VERSION #define VERSION "3.0.1" -#define BDATE "30 April 2009" -#define LSMDATE "30Apr09" +#define BDATE "04 May 2009" +#define LSMDATE "04May09" #define PROG_COPYRIGHT "Copyright (C) %d-2009 Free Software Foundation Europe e.V.\n" #define BYEAR "2009" /* year for copyright messages in progs */ diff --git a/bacula/technotes b/bacula/technotes index 8495ce7a1c..376f85eb08 100644 --- a/bacula/technotes +++ b/bacula/technotes @@ -2,6 +2,12 @@ General: +06Apr09 +kes Update projects file. +04Apr09 +kes Add --with-bsrdir and --with-logdir for placement of Bacula bsr + files and Bacula log files. + Release Version 3.0.1: 29Apr09 kes Fix bug #1282 Setting job.Priority in python crashes director by -- 2.39.5