From: Kern Sibbald Date: Sat, 4 Mar 2006 15:12:40 +0000 (+0000) Subject: Update X-Git-Tag: Release-1.38.6~1 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=c698c7b58f6bf50aacaf2b8ad62a0eb5e6fb83b2;p=bacula%2Fdocs Update --- diff --git a/docs/developers/porting.tex b/docs/developers/porting.tex index 7411d4c5..60561eb0 100644 --- a/docs/developers/porting.tex +++ b/docs/developers/porting.tex @@ -25,7 +25,7 @@ In General, the following holds true: \begin{itemize} \item {\bf Bacula} has been compiled and run on Linux RedHat, FreeBSD, and Solaris systems. -\item In addition, clients exist on Win32 (Cygwin), and Irix +\item In addition, clients exist on Win32, and Irix \item It requires GNU C++ to compile. You can try with other compilers, but you are on your own. The Irix client is built with the Irix complier, but, in general, you will need GNU. @@ -37,11 +37,16 @@ In General, the following holds true: distribution. \item There are certain third party packages that Bacula needs. Except for MySQL, they can all be found in the {\bf depkgs} and {\bf depkgs1} releases. -\item If you want to build the Win32 binaries, you will need the full Cygwin - 1.5.5 release. Although all components build (console has some warnings), - only the File daemon has been tested. Please note that if you attempt to -build Bacula on any other version of Cygwin, particularly previous versions, -you will be on your own. +\item To build the Win32 binaries, we use Microsoft VC++ standard + 2003. Please see the instructions in + bacula-source/src/win32/README.win32 for more details. If you + want to use VC++ Express, please see README.vc8. Our build is + done under the most recent version of Cygwin, but Cygwin is + not used in the Bacula binaries that are produced. + Unfortunately, we do not have the resources to help you build + your own version of the Win32 FD, so you are pretty much on + your own. You can ask the bacula-devel list for help, but + please don't expect much. \item {\bf Bacula} requires a good implementation of pthreads to work. \item The source code has been written with portability in mind and is mostly POSIX compatible. Thus porting to any POSIX compatible operating system diff --git a/docs/developers/version.tex b/docs/developers/version.tex index c09bb4e4..eb54cda0 100644 --- a/docs/developers/version.tex +++ b/docs/developers/version.tex @@ -1 +1 @@ -1.39.5 (20 February 2006) +1.38.6-beta3 (04 March 2006) diff --git a/docs/home-page/donations.txt b/docs/home-page/donations.txt index 3f07f165..1621f3c9 100644 --- a/docs/home-page/donations.txt +++ b/docs/home-page/donations.txt @@ -1,6 +1,6 @@ Kern;;;2006/01/06;;;12:30 Bacula is now able to accept direct donations, and as of -15 January 2006, we have received the following: +26 February 2006, we have received the following: Amounts received: Date Amount: Donor: @@ -15,10 +15,11 @@ Amounts received: Payments made: Amount: To/for: 06 Jan 06 $100 OSDN (Source Forge) for hosting Bacula + 15 Feb 06 $171.95 VC++ for Scott === Balance: -Total $646.84 After payments and PayPal fees are deducted +Total $474.89 After payments and PayPal fees are deducted Many thanks to the above Bacula supporters. diff --git a/docs/home-page/news.txt b/docs/home-page/news.txt index aca4a619..ff14978c 100644 --- a/docs/home-page/news.txt +++ b/docs/home-page/news.txt @@ -1,13 +1,130 @@ -Kern;;;2006/01/16;;;14:30 -The Bacula Version 1.38.3 tar file is released to Source Forge. +Kern;;;2006/02/266;;;14:30 +The Bacula Version 1.38.6-beta2 patch file has been released to the +bacula-patches area of Source Forge. - Release Notes for Bacula 1.38.3 + Release Notes for Bacula 1.38.6-beta2 - Bacula code: Total files = 424 Total lines = 140,955 (*.h *.c *.in) + Bacula code: Total files = 418 Total lines = 136,328 (*.h *.c *.in) 20,440 additional lines of code since version 1.36.3 -Changes to 1.38.3: +New features: +- For autochanger get Scratch tape if in autochanger if + no appendable Volumes are available. +- New virtual disk autochanger. See scripts/disk-changer for + documentation. +- New optional Device resource directive in SD. 'Device Type =', + which may have types: File, DVD, Tape, or FIFO. This can + be useful for writing DVDs on FreeBSD where Bacula cannot + correctly detect the DVD. + +Major bug fixes: +- Fix race condition in multiple-drive autochangers where + both drives want the same Volume. +- Do not allow opening default catalog for restricted console + if it is not in ACL. + +Minor bug fixes: +- See below: + +Release 1.38.6-beta2 25Feb06 +25Feb06 +- Add sql_use_result() define. + +Changes to 1.38.6-beta1 +- Don't open default catalog if not in ACL. +- Add virtual disk autochanger code. +- Add user supplied bug fix to make two autochangers work + correctly using StorageId with InChanger checks. +- Correct new/old_jcr confusion in copy_storage(). +- Remove & from Job during scan in msgchan.c -- probably + trashed the stack. +- When getting the next Volume if no Volume in Append mode + exists and we are dealing with an Autochanger, search + for a Scratch Volume. +- Check for missing value in dot commands -- bug fix. +- Fix bug in update barcodes command line scanning. +- Make sure Pool Max Vols is respected. +- Check that user supplied a value before referencing + it in restore -- pointed out by Karl Hakimian. +- Add Karl Hakimian's table insert code. +- Don't ask user to select a specific Volume when + updating all volumes in a Pool. +- Remove reservation if set for read when removing dcr. +- Lock code that requests next appendable volume so that + two jobs to get the same Volume at the same time. +- Add new Device Type = xxx code. Values are file, tape, + dvd, and fifo. +- Preserve certain modes (ST_LABEL|ST_APPEND|ST_READ) across + a re-open to change read/write permission on a device. +- Correct a misplaced double quote in certain autochanger + scripts. +- Make make_catalog_backup.in a bit more portable. +- Implement Karl Hakimian's sql_use_result(), which speeds + up restore tree building and reduces the memory load. +- Correct a number of minor bugs in getting a Volume from + the Scratch Pool. +- Implement additional command line options for update Volume. +- Don't require user to enter a Volume name when updating + all Volumes in a pool. + +Release 1.38.5 released 19Jan06: +- Apply label barcodes fix supplied by Rudolf Cejka. +- Modify standard rpm installation to set SD group to disk + so that SD will by default have access to tape drives. +- Allow users to specify user/group and start options + for each daemon in /etc/sysconf/bacula file. + +Changes to 1.38.4 released 17Jan06: +- The main changes are to the Director and the Storage daemon, + thus there is no need to update your File daemons. Just the + same, I do recommend running with the release 1.38.3 Win32 + FD or later. +- 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, ...). +- Add periodic (every 24 hours) garbage collection of memory + pool by releasing free buffers. +- Correct bug counting sized (for display only) in smartall.c +- Print FD mempool stats if debug > 0 rather than 5. +- Correct bug in alist.c that re-allocated the list if the + number of items goes to zero. +- Move the reservation system thread locking to the top level + so that one job at a time tries all possible drives before + waiting. +- Implement a reservation 'fail' message queue that is built + and destroyed on each pass through the reservation system. + These messages are displayed in a 'Jobs waiting to reserve + a drive' list during a 'status storage='. Note, multiple + messages will generally print for each JobId because they + represent the different problems with either the same drive + or different drives. If this output proves too confusing + of voluminous, I will display it only when debug level 1 + or greater is enabled in the SD. +- Add enable/disable job=. This command prevents + the specified job from being scheduled. Even when disabled, + the job can be manually started from the console. +- During 'update slots' clear all InChanger flags where the + StorageId is zero (old Media records). +- Fix autochanger code to strip leading spaces from returned + slots number. Remove bc from chio-changer. +- Back port a bit of 1.39 crypto code to reduce diffs. +- Fix first call to autochanger that missed close()ing the + drive. Put close() just before each run_program(). Fixes + Arno's changer bug. +- Add PoolId to Job record when updating it at job start time. +- Pull in more code from 1.39 so that there are fewer file + differences (the new ua_dotcmds.c, base64.h, crypto.h + hmac.c jcr.c (dird and lib) lib.h md5.h parse_conf.c + util.c. Aside from ua_dotcmds.c these are mostly crypto + upgrades. +- Implement new method of walking the jcr chain. The + incr/dec of the use_count is done within the walking + routines. This should prevent a jcr from being freed + from under the walk routines. + + +Changes to 1.38.3 released 05Jan06: - This is mainly a bug release fix. In addition, the multiple drive reservation algorithm has been rewritten. - In addition, the method of handling waiting for tapes to be @@ -16,7 +133,7 @@ Changes to 1.38.3: - Simplify code in askdir.c that waits for creating an appendable volume so that it can handle multiple returns from the wait code. - Modify the wait code to permit multiple returns. -- Return a zero when "autochanger drives" is called and +- Return a zero when 'autochanger drives' is called and it is not an autochanger. - Make rewind_dev() a method taking a DCR as an argument. This permits closing and reopening the drive if the @@ -91,9 +208,9 @@ Changes to 1.38.3: at the same time. - 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" + 'list nextvol days=xx' or - "status dir days=xx" + '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. @@ -186,7 +303,7 @@ Major Changes in 1.38: - Volume Shadow Copy support for Win32 thus the capability to backup exclusively opened files (thanks to Thorsten Engel). A VSS enabled Win32 FD is available. You must explicitly - turn on VSS with "Enable VSS = yes" in your FileSet resource. + turn on VSS with 'Enable VSS = yes' in your FileSet resource. - New manual format with an index (thanks to Karl Cunningham). - New Web site format (thanks to Michael Scherer). - SQLite3 support. @@ -197,13 +314,13 @@ Major Changes in 1.38: in native languages. Thanks to Nicolas Boichat. New Directives: -- New Job directive "Prefer Mounted Volumes = yes|no" causes the +- New Job directive 'Prefer Mounted Volumes = yes|no' causes the SD to select either an Autochanger or a drive with a valid Volume already mounted in preference. If none is available, it will select the first available drive. - New Run directive in Job resource of DIR. It permits cloning of jobs. To clone a copy of the current job, use - Run = "job-name level=%l since=\"%s\"" + Run = 'job-name level=%l since=\'%s\'' Note, job-name is normally the same name as the job that is running but there is no restriction on what you put. If you want to start the job by hand and use job overrides such as @@ -291,7 +408,7 @@ New Directives: of the manual. New Commands: -- "python restart" restarts the Python interpreter. Rather brutal, make +- 'python restart' restarts the Python interpreter. Rather brutal, make sure no Python scripts are running. This permits you to change a Python script and get Bacula to use the new script. @@ -305,11 +422,11 @@ Items to note!!! - The Storage daemon now keeps track of what tapes it is using (was not the case in 1.36.x). This means that you must be much more careful when removing tapes and putting up a new one. In - general, you should always do a "unmount" prior to removing a - tape, and a "mount" after putting a new one into the drive. + general, you should always do a 'unmount' prior to removing a + tape, and a 'mount' after putting a new one into the drive. - If you use an Autochanger, you MUST update your SD conf file to use the new Autochanger resource. Otherwise, certain commands - such as "update slots" may not work. + such as 'update slots' may not work. - You must add --with-python=[DIR] to the configure command line if you want Python support. Python 2.2, 2.3 and 2.4 should be automatically detected if in the standard place. @@ -343,7 +460,7 @@ Items to note!!! compiling. -Other Items: +Other Items Fixed: - Security fixes for temp files created in mtx-changer, during ./configure, and during making of Rescue disk. - A new script, dvd-handler, in the scripts directory, @@ -354,7 +471,7 @@ Other Items: /patches/dvd+rw-tools-5.21.4.10.8.bacula.patch You must have Python installed to run the scripts. - Part files support: File volumes can now be split into multiple - files, called "parts". + files, called 'parts'. - For the details of the Python scripting support, please see the new Python Scripting chapter in the manual. - The default user/group for the Director and Storage daemon installed @@ -363,6 +480,7 @@ Other Items: all else fails, change to using user=root. However, it is more secure to use user=bacula. + Michael;;;2005/02/25;;;19:59 News-Page for the Bacula-Website finished When you read this, you read the first news posted by me *hehe* diff --git a/docs/home-page/pages/makedonation.php b/docs/home-page/pages/makedonation.php index ee56df0a..a4b8be9c 100644 --- a/docs/home-page/pages/makedonation.php +++ b/docs/home-page/pages/makedonation.php @@ -17,7 +17,7 @@ - Although one talks about Free Software, in fact, software such + Although one talks about Free Software, in fact, Open Software such as Bacula was not developed without some cost. The software may be free for the user, but it wasn't free for the developer or developers, either in terms of time or in terms of financial @@ -32,16 +32,17 @@ desire to have them reimbursed. Bacula is now a fairly mature product, and to ensure its long - term survival, I believe it should start to pay its own way. + term survival, I believe it is time that Bacula begins to + stand on its own, both financially and for the development.

- There are multiple ways of contributing to the Bacula + There are ways you can contribute to the Bacula project, some of which are: ideas, user support, documentation review, translation, programming and contributing code, testing the new releases, hosting services, testing machines, donating needed equipment, and financial support. - Previously all but the last one were possible. + Previously all but the last one (financial support) were possible. It is now possible for you to contribute financial aid the Bacula project. All funds collected will be used to help further the Bacula project by covering out of pocket expenses @@ -51,7 +52,7 @@

The project actually has the following needs (approximate costs):
- Three Microsoft Visual C++ licenses: $3000
+ Three Microsoft Visual C++ licenses: $1500
Autochanger for FreeBSD testing: $3200
Autochanger for Solaris testing: $3200
@@ -67,8 +68,8 @@ If you are a government or for-profit corporation and cannot make "donations", please consider paying a (non-obligatory) binary license fee for any Bacula built binaries that you download. - By providing you with these pre-built, pre-tested binaries, we are - really providing you with an extra service, which merits you + By making these pre-built, pre-tested binaries available, we are + providing users who download them with an extra service, which merits careful consideration for making a contribution or paying a "license fee". diff --git a/docs/manual-de/version.tex b/docs/manual-de/version.tex index c09bb4e4..eb54cda0 100644 --- a/docs/manual-de/version.tex +++ b/docs/manual-de/version.tex @@ -1 +1 @@ -1.39.5 (20 February 2006) +1.38.6-beta3 (04 March 2006) diff --git a/docs/manual/console.tex b/docs/manual/console.tex index af9b0701..ac7414ef 100644 --- a/docs/manual/console.tex +++ b/docs/manual/console.tex @@ -387,9 +387,16 @@ update storage=xxx pool=yyy slots=1-5,10 barcodes \begin{verbatim} list jobs - list jobid=\lt{}id\gt{} + list jobid=\lt{}id\gt{} (list jobid id) + + list jobuname=\lt{}job-uname\gt{} (list job with unique name) - list job=\lt{}job-name\gt{} + list job=\lt{}job-name\gt{} (list all jobs with "job-name" + + list jobname=\lt{}job-name\gt{} (same as above) + + In the above, you can add "limit=nn" to limit the output to + nn jobs. list jobmedia diff --git a/docs/manual/dirdconf.tex b/docs/manual/dirdconf.tex index 810e9114..0d61816a 100644 --- a/docs/manual/dirdconf.tex +++ b/docs/manual/dirdconf.tex @@ -82,17 +82,20 @@ index and media database redundancy. supplied. \item [Name = \lt{}name\gt{}] - \index[dir]{Name } + \index[dir]{Name} + \index[dir]{Directive!Name} The director name used by the system administrator. This directive is required. \item [Description = \lt{}text\gt{}] - \index[dir]{Description } + \index[dir]{Description} + \index[dir]{Directive!Description} The text field contains a description of the Director that will be displayed in the graphical user interface. This directive is optional. \item [Password = \lt{}UA-password\gt{}] - \index[dir]{Password } + \index[dir]{Password} + \index[dir]{Directive!Password} Specifies the password that must be supplied for the default Bacula Console to be authorized. The same password must appear in the {\bf Director} resource of the Console configuration file. For added security, the password @@ -103,7 +106,8 @@ in the graphical user interface. This directive is optional. blank and you must manually supply it. \item [Messages = \lt{}Messages-resource-name\gt{}] - \index[dir]{Messages } + \index[dir]{Messages} + \index[dir]{Directive!Messages} The messages resource specifies where to deliver Director messages that are not associated with a specific Job. Most messages are specific to a job and will be directed to the Messages resource specified by the job. However, @@ -111,7 +115,8 @@ in the graphical user interface. This directive is optional. directive is required. \item [Working Directory = \lt{}Directory\gt{}] - \index[dir]{Working Directory } + \index[dir]{Working Directory} + \index[dir]{Directive!Working Directory} This directive is mandatory and specifies a directory in which the Director may put its status files. This directory should be used only by Bacula but may be shared by other Bacula daemons. However, please note, if this @@ -124,7 +129,8 @@ in the graphical user interface. This directive is optional. as {\bf \$HOME} will be properly expanded. This directive is required. \item [Pid Directory = \lt{}Directory\gt{}] - \index[dir]{Pid Directory } + \index[dir]{Pid Directory} + \index[dir]{Directive!Pid Directory} This directive is mandatory and specifies a directory in which the Director may put its process Id file. The process Id file is used to shutdown Bacula and to prevent multiple copies of Bacula from running simultaneously. @@ -137,7 +143,8 @@ not installing Bacula in the system directories, you can use the {\bf Working Directory} as defined above. This directive is required. \item [Scripts Directory = \lt{}Directory\gt{}] - \index[dir]{Scripts Directory } + \index[dir]{Scripts Directory} + \index[dir]{Directive!Scripts Directory} This directive is optional and, if defined, specifies a directory in which the Director will look for the Python startup script {\bf DirStartup.py}. This directory may be shared by other Bacula daemons. @@ -146,7 +153,8 @@ Directory} as defined above. This directive is required. expanded. \item [QueryFile = \lt{}Path\gt{}] - \index[dir]{QueryFile } + \index[dir]{QueryFile} + \index[dir]{Directive!QueryFile} This directive is mandatory and specifies a directory and file in which the Director can find the canned SQL statements for the {\bf Query} command of the Console. Standard shell expansion of the {\bf Path} is @@ -155,7 +163,8 @@ Directory} as defined above. This directive is required. \label{DirMaxConJobs} \item [Maximum Concurrent Jobs = \lt{}number\gt{}] -\index[dir]{Maximum Concurrent Jobs } +\index[dir]{Maximum Concurrent Jobs} +\index[dir]{Directive!Maximum Concurrent Jobs} \index[general]{Simultaneous Jobs} \index[general]{Concurrent Jobs} where \lt{}number\gt{} is the maximum number of total Director Jobs that @@ -183,19 +192,22 @@ For more details on getting concurrent jobs to run, please see of this manual. \item [FD Connect Timeout = \lt{}time\gt{}] - \index[dir]{FD Connect Timeout } + \index[dir]{FD Connect Timeout} + \index[dir]{Directive!FD Connect Timeout} where {\bf time} is the time that the Director should continue attempting to contact the File daemon to start a job, and after which the Director will cancel the job. The default is 30 minutes. \item [SD Connect Timeout = \lt{}time\gt{}] - \index[dir]{SD Connect Timeout } + \index[dir]{SD Connect Timeout} + \index[dir]{Directive!SD Connect Timeout} where {\bf time} is the time that the Director should continue attempting to contact the Storage daemon to start a job, and after which the Director will cancel the job. The default is 30 minutes. \item [DirAddresses = \lt{}IP-address-specification\gt{}] - \index[dir]{DirAddresses } + \index[dir]{DirAddresses} + \index[dir]{Directive!DirAddresses} Specify the ports and addresses on which the Director daemon will listen for Bacula Console connections. Probably the simplest way to explain this is to show an example: @@ -209,20 +221,20 @@ of this manual. ipv6 = { addr = 1.2.3.4; port = 1205; - } + } ip = { addr = 1.2.3.4 port = 1205 - } + } ip = { addr = 1.2.3.4 - } + } ip = { addr = 201:220:222::2 - } + } ip = { addr = bluedot.thun.net - } + } } \end{verbatim} \normalsize @@ -236,7 +248,8 @@ the resolution can be made either by IPv4 or IPv6. If ip4 is specified, then only IPv4 resolutions will be permitted, and likewise with ip6. \item [DIRport = \lt{}port-number\gt{}] - \index[dir]{DIRport } + \index[dir]{DIRport} + \index[dir]{Directive!DIRport} Specify the port (a positive integer) on which the Director daemon will listen for Bacula Console connections. This same port number must be specified in the Director resource of the Console configuration file. The @@ -244,7 +257,8 @@ default is 9101, so normally this directive need not be specified. This directive is not needed if you specify DirAddresses. \item [DirAddress = \lt{}IP-Address\gt{}] - \index[dir]{DirAddress } + \index[dir]{DirAddress} + \index[dir]{Directive!DirAddress} This directive is optional, but if it is specified, it will cause the Director server (for the Console program) to bind to the specified {\bf IP-Address}, which is either a domain name or an IP address specified as a @@ -292,10 +306,12 @@ Clients, you must define a Job for each one. \item [Job] \index[dir]{Job} + \index[dir]{Directive!Job} Start of the Job resource. At least one Job resource is required. \item [Name = \lt{}name\gt{}] - \index[dir]{Name } + \index[dir]{Name} + \index[dir]{Directive!Name} The Job name. This name can be specified on the {\bf Run} command in the console program to start a job. If the name contains spaces, it must be specified between quotes. It is generally a good idea to give your job the @@ -307,7 +323,8 @@ Clients, you must define a Job for each one. execution. This directive is required. \item [Type = \lt{}job-type\gt{}] - \index[dir]{Type } + \index[dir]{Type} + \index[dir]{Directive!Type} The {\bf Type} directive specifies the Job type, which may be one of the following: {\bf Backup}, {\bf Restore}, {\bf Verify}, or {\bf Admin}. This directive is required. Within a particular Job Type, there are also Levels @@ -349,7 +366,8 @@ Although an Admin job is recorded in the catalog, very little data is saved. \label{Level} \item [Level = \lt{}job-level\gt{}] - \index[dir]{Level } + \index[dir]{Level} + \index[dir]{Directive!Level} The Level directive specifies the default Job level to be run. Each different Job Type (Backup, Restore, ...) has a different set of Levels that can be @@ -575,7 +593,8 @@ been deleted. \end{description} \item [Verify Job = \lt{}Job-Resource-Name\gt{}] - \index[dir]{Verify Job } + \index[dir]{Verify Job} + \index[dir]{Directive!Verify Job} If you run a verify job without this directive, the last job run will be compared with the catalog, which means that you must immediately follow a backup by a verify command. If you specify a {\bf Verify Job} Bacula will @@ -584,7 +603,8 @@ backups, then run Verify jobs on those that you wish to be verified (most often a {\bf VolumeToCatalog}) so that the tape just written is re-read. \item [JobDefs = \lt{}JobDefs-Resource-Name\gt{}] - \index[dir]{JobDefs } + \index[dir]{JobDefs} + \index[dir]{Directive!JobDefs} If a JobDefs-Resource-Name is specified, all the values contained in the named JobDefs resource will be used as the defaults for the current Job. Any value that you explicitly define in the current Job resource, will override @@ -596,7 +616,8 @@ Clients. A simple example of the use of JobDefs is provided in the default bacula-dir.conf file. \item [Bootstrap = \lt{}bootstrap-file\gt{}] - \index[dir]{Bootstrap } + \index[dir]{Bootstrap} + \index[dir]{Directive!Bootstrap} The Bootstrap directive specifies a bootstrap file that, if provided, will be used during {\bf Restore} Jobs and is ignored in other Job types. The {\bf bootstrap} file contains the list of tapes to be used in a restore Job as @@ -614,7 +635,8 @@ chapter of this manual. \label{writebootstrap} \item [Write Bootstrap = \lt{}bootstrap-file-specification\gt{}] - \index[dir]{a name} + \index[dir]{Write Bootstrape} + \index[dir]{Directive!Write Bootstrape} The {\bf writebootstrap} directive specifies a file name where Bacula will write a {\bf bootstrap} file for each Backup job run. Thus this directive applies only to Backup Jobs. If the Backup job is a Full save, Bacula will @@ -637,7 +659,8 @@ For more details on using this file, please see the chapter entitled \ilink{The Bootstrap File}{_ChapterStart43} of this manual. \item [Client = \lt{}client-resource-name\gt{}] - \index[dir]{Client } + \index[dir]{Client} + \index[dir]{Directive!Client} The Client directive specifies the Client (File daemon) that will be used in the current Job. Only a single Client may be specified in any one Job. The Client runs on the machine to be backed up, and sends the requested files to @@ -647,7 +670,8 @@ For more details on using this file, please see the chapter entitled This directive is required. \item [FileSet = \lt{}FileSet-resource-name\gt{}] - \index[dir]{FileSet } + \index[dir]{FileSet} + \index[dir]{FileSet} The FileSet directive specifies the FileSet that will be used in the current Job. The FileSet specifies which directories (or files) are to be backed up, @@ -657,7 +681,8 @@ current chapter. This directive is required. \item [Messages = \lt{}messages-resource-name\gt{}] - \index[dir]{Messages } + \index[dir]{Messages} + \index[dir]{Directive!Messages} The Messages directive defines what Messages resource should be used for this job, and thus how and where the various messages are to be delivered. For @@ -667,7 +692,8 @@ this manual. This directive is required. \item [Pool = \lt{}pool-resource-name\gt{}] - \index[dir]{Pool } + \index[dir]{Pool} + \index[dir]{Directive!Pool} The Pool directive defines the pool of Volumes where your data can be backed up. Many Bacula installations will use only the {\bf Default} pool. However, if you want to specify a different set of Volumes for different Clients or @@ -677,19 +703,22 @@ this directive is required. \item [Full Backup Pool = \lt{}pool-resource-name\gt{}] - \index[dir]{Full Backup Pool } + \index[dir]{Full Backup Pool} + \index[dir]{Directive!Full Backup Pool} The {\it Full Backup Pool} specifies a Pool to be used for Full backups. It will override any Pool specification during a Full backup. This directive is optional. \item [Differential Backup Pool = \lt{}pool-resource-name\gt{}] - \index[dir]{Differential Backup Pool } + \index[dir]{Differential Backup Pool} + \index[dir]{Directive!Differential Backup Pool} The {\it Differential Backup Pool} specifies a Pool to be used for Differential backups. It will override any Pool specification during a Differential backup. This directive is optional. \item [Incremental Backup Pool = \lt{}pool-resource-name\gt{}] - \index[dir]{Incremental Backup Pool } + \index[dir]{Incremental Backup Pool} + \index[dir]{Directive!Incremental Backup Pool} The {\it Incremental Backup Pool} specifies a Pool to be used for Incremental backups. It will override any Pool specification during an Incremental @@ -697,7 +726,8 @@ backup. This directive is optional. \item [Schedule = \lt{}schedule-name\gt{}] - \index[dir]{Schedule } + \index[dir]{Schedule} + \index[dir]{Directive!Schedule} The Schedule directive defines what schedule is to be used for the Job. The schedule in turn determines when the Job will be automatically started and what Job level (i.e. Full, Incremental, ...) is to be run. @@ -713,7 +743,8 @@ backup. \item [Storage = \lt{}storage-resource-name\gt{}] - \index[dir]{Storage } + \index[dir]{Storage} + \index[dir]{Directive!Storage} The Storage directive defines the name of the storage services where you want to backup the FileSet data. For additional details, see the @@ -721,7 +752,8 @@ want This directive is required. \item [Max Start Delay = \lt{}time\gt{}] - \index[dir]{Max Start Delay } + \index[dir]{Max Start Delay} + \index[dir]{Directive!Max Start Delay} The time specifies the maximum delay between the scheduled time and the actual start time for the Job. For example, a job can be scheduled to run at 1:00am, but because other jobs are running, it may wait to run. @@ -731,14 +763,16 @@ want which indicates no limit. \item [Max Run Time = \lt{}time\gt{}] - \index[dir]{Max Run Time } + \index[dir]{Max Run Time} + \index[dir]{Directive!Max Run Time} The time specifies the maximum allowed time that a job may run, counted from when the job starts, ({\bf not} necessarily the same as when the job was scheduled). This directive is implemented in version 1.33 and later. \item [Max Wait Time = \lt{}time\gt{}] - \index[dir]{Max Wait Time } + \index[dir]{Max Wait Time} + \index[dir]{Directive!Max Wait Time} The time specifies the maximum allowed time that a job may block waiting for a resource (such as waiting for a tape to be mounted, or waiting for the storage or file daemons to perform their duties), counted from the @@ -749,7 +783,8 @@ want \item [Incremental Max Wait Time = \lt{}time\gt{}] - \index[dir]{Incremental Max Wait Time } + \index[dir]{Incremental Max Wait Time} + \index[dir]{Directive!Incremental Max Wait Time} The time specifies the maximum allowed time that an Incremental backup job may block waiting for a resource (such as waiting for a tape to be mounted, or waiting for the storage or file daemons to perform their @@ -758,7 +793,8 @@ want {\bf Max Wait Time} it may also be applied to the job. \item [Differential Max Wait Time = \lt{}time\gt{}] - \index[dir]{Differential Max Wait Time } + \index[dir]{Differential Max Wait Time} + \index[dir]{Directive!Differential Max Wait Time} The time specifies the maximum allowed time that a Differential backup job may block waiting for a resource (such as waiting for a tape to be mounted, or waiting for the storage or file daemons to perform their @@ -768,6 +804,7 @@ want \item [Prefer Mounted Volumes = \lt{}yes|no\gt{}] \index[dir]{Prefer Mounted Volumes} + \index[dir]{Directive!Prefer Mounted Volumes} If the Prefer Mounted Volumes directive is set to {\bf yes} (default yes), the Storage daemon is requested to select either an Autochanger or a drive with a valid Volume already mounted in preference to a drive @@ -788,7 +825,8 @@ want \item [Prune Jobs = \lt{}yes|no\gt{}] - \index[dir]{Prune Jobs } + \index[dir]{Prune Jobs} + \index[dir]{Directive!Prune Jobs} Normally, pruning of Jobs from the Catalog is specified on a Client by Client basis in the Client resource with the {\bf AutoPrune} directive. If this directive is specified (not normally) and the value is {\bf @@ -797,7 +835,8 @@ want \item [Prune Files = \lt{}yes|no\gt{}] - \index[dir]{Prune Files } + \index[dir]{Prune Files} + \index[dir]{Directive!Prune Files} Normally, pruning of Files from the Catalog is specified on a Client by Client basis in the Client resource with the {\bf AutoPrune} directive. If this directive is specified (not normally) and the value is {\bf @@ -805,7 +844,8 @@ want default is {\bf no}. \item [Prune Volumes = \lt{}yes|no\gt{}] - \index[dir]{Prune Volumes } + \index[dir]{Prune Volumes} + \index[dir]{Directive!Prune Volumes} Normally, pruning of Volumes from the Catalog is specified on a Client by Client basis in the Client resource with the {\bf AutoPrune} directive. If this directive is specified (not normally) and the value @@ -813,7 +853,9 @@ want resource. The default is {\bf no}. \item [Run Before Job = \lt{}command\gt{}] - \index[dir]{Run Before Job } + \index[dir]{Run Before Job} + \index[dir]{Directive!Run Before Job} + \index[dir]{Directive!Run Before Job} The specified {\bf command} is run as an external program prior to running the current Job. Any output sent by the command to standard output will be included in the Bacula job report. The command string must be a @@ -834,12 +876,13 @@ want %% = % %c = Client's name %d = Director's name - %i = JobId %e = Job Exit Status - %j = Unique Job name + %i = JobId + %j = Unique Job id %l = Job Level %n = Job name - %t = Job type + %s = Since time + %t = Job type (Backup, ...) %v = Volume name \end{verbatim} @@ -872,32 +915,59 @@ The Job Exit Status code \%e edits the following values: before leaving will be used. \item [Run After Job = \lt{}command\gt{}] - \index[dir]{Run After Job } - The specified {\bf command} is run as an external program after the - current job terminates. This directive is not required. The command - string must be a valid program name or name of a shell script. If the - exit code of the program run is non-zero, the current Bacula job will - terminate in error. Before submitting the specified command to the - operating system, Bacula performs character substitution as described - above for the {\bf Run Before Job} directive. + \index[dir]{Run After Job} + \index[dir]{Directive!Run After Job} + The specified {\bf command} is run as an external program if the current + job terminates normally (without error or without being canceled). This + directive is not required. The command string must be a valid program name + or name of a shell script. If the exit code of the program run is + non-zero, Bacula will print a warning message. Before submitting the + specified command to the operating system, Bacula performs character + substitution as described above for the {\bf Run Before Job} directive. + + An example of the use of this directive is given in the + \ilink{Tips Chapter}{JobNotification} of this manual. + See the {\bf Run After Failed Job} if you + want to run a script after the job has terminated with any + non-normal status. + +\item [Run After Failed Job = \lt{}command\gt{}] + \index[dir]{Run After Job} + \index[dir]{Directive!Run After Job} + The specified {\bf command} is run as an external program after the current + job terminates with any error status. This directive is not required. The + command string must be a valid program name or name of a shell script. If + the exit code of the program run is non-zero, Bacula will print a + warning message. Before submitting the specified command to the + operating system, Bacula performs character substitution as described above + for the {\bf Run Before Job} directive. Note, if you wish, you may + specify the same script as for {\bf Run After Job} so that your script + will run regardless of the exit status of the Job. An example of the use of this directive is given in the - \ilink{Tips Chapter}{JobNotification} of this manual. As of version - 1.30, Bacula checks the exit status of the RunAfter program. If it is - non-zero, the job will be terminated in error. + \ilink{Tips Chapter}{JobNotification} of this manual. + \item [Client Run Before Job = \lt{}command\gt{}] - \index[dir]{Client Run Before Job } + \index[dir]{Client Run Before Job} + \index[dir]{Directive!Client Run Before Job} This directive is the same as {\bf Run Before Job} except that the program is run on the client machine. The same restrictions apply to Unix systems as noted - above for the {\bf Run Before Job}. In addition, for a Windows client on + above for the {\bf Run Before Job}. + + When specifying a full path to an executable if the path or executable name + contains whitespace or special characters they will need to be quoted. + Arguments containing whitespace or special characters will also have to be + quoted. + + {\bf Special Windows Considerations} + In addition, for a Windows client on version 1.33 and above, please take careful note that you must ensure a correct path to your script. The script or program can be a .com, .exe or a .bat file. However, if you specify a path, you must also specify the full extension. Unix like commands will not work unless you have installed and - properly configured Cygwin in addition to and separately from Bacula. + properly configured Cygwin in addition to and separately from Bacula. - {\bf Special Windows Considerations} The command can be anything that cmd.exe or command.com will recognize as an executable file. Specifying the executable's extension is optional, unless there is an ambiguity. (i.e. ls.bat, ls.exe) @@ -910,10 +980,6 @@ The Job Exit Status code \%e edits the following values: System environment variables can be referenced with \%var\% and used as either part of the command name or arguments. - When specifying a full path to an executable if the path or executable name - contains whitespace or special characters they will need to be quoted. - Arguments containing whitespace or special characters will also have to be - quoted. \footnotesize \begin{verbatim} @@ -925,18 +991,16 @@ ClientRunBeforeJob = "\"C:/Program Files/Software The special characters \&()[]\{\}\^{}=;!'+,`\~{} will need to be quoted if they are part of a filename or argument. - If someone is logged in, a blank "command" window running the commands -will + If someone is logged in, a blank "command" window running the commands will be present during the execution of the command. Some Suggestions from Phil Stracchino for running on Win32 machines with the native Win32 File daemon: \begin{enumerate} - \item You might want the ClientRunBeforeJob directive to specify a .bat file - which runs the actual client-side commands, rather than trying to run -(for - example) regedit /e directly. + \item You might want the ClientRunBeforeJob directive to specify a .bat + file which runs the actual client-side commands, rather than trying to + run (for example) regedit /e directly. \item The batch file should explicitly 'exit 0' on successful completion. \item The path to the batch file should be specified in Unix form: @@ -996,36 +1060,37 @@ It is important to redirect the input and outputs of a backgrounded command to \item [Client Run After Job = \lt{}command\gt{}] - \index[dir]{Client Run After Job } - This directive is the same as {\bf Run After Job} except that it is run on -the - client machine. Note, please see the notes above in {\bf Client Run Before - Job} concerning Windows clients. + \index[dir]{Client Run After Job} + \index[dir]{Directive!Client Run After Job} + This directive is the same as {\bf Run After Job} except that it is run on + the client machine. Note, please see the notes above in {\bf Client Run + Before Job} concerning Windows clients. \item [Rerun Failed Levels = \lt{}yes|no\gt{}] - \index[dir]{Rerun Failed Levels } - If this directive is set to {\bf yes} (default no), and Bacula detects that -a - previous job at a higher level (i.e. Full or Differential) has failed, the - current job level will be upgraded to the higher level. This is particularly - useful for Laptops where they may often be unreachable, and if a prior Full - save has failed, you wish the very next backup to be a Full save rather -than - whatever level it is started as. + \index[dir]{Rerun Failed Levels} + \index[dir]{Directive!Rerun Failed Levels} + If this directive is set to {\bf yes} (default no), and Bacula detects that + a previous job at a higher level (i.e. Full or Differential) has failed, + the current job level will be upgraded to the higher level. This is + particularly useful for Laptops where they may often be unreachable, and if + a prior Full save has failed, you wish the very next backup to be a Full + save rather than whatever level it is started as. \item [Spool Data = \lt{}yes|no\gt{}] - \index[dir]{Spool Data } + \index[dir]{Spool Data} + \index[dir]{Directive!Spool Data} If this directive is set to {\bf yes} (default no), the Storage daemon will -be requested to spool the data for this Job to disk rather than write it -directly to tape. Once all the data arrives or the spool files' maximum sizes -are reached, the data will be despooled and written to tape. When this -directive is set to yes, the Spool Attributes is also automatically set to -yes. Spooling data prevents tape shoe-shine (start and stop) during -Incremental saves. This option should not be used if you are writing to a -disk file. + be requested to spool the data for this Job to disk rather than write it + directly to tape. Once all the data arrives or the spool files' maximum sizes + are reached, the data will be despooled and written to tape. When this + directive is set to yes, the Spool Attributes is also automatically set to + yes. Spooling data prevents tape shoe-shine (start and stop) during + Incremental saves. This option should not be used if you are writing to a + disk file. \item [Spool Attributes = \lt{}yes|no\gt{}] - \index[dir]{Spool Attributes } + \index[dir]{Spool Attributes} + \index[dir]{Directive!Spool Attributes} The default is set to {\bf no}, which means that the File attributes are sent by the Storage daemon to the Director as they are stored on tape. However, @@ -1037,7 +1102,8 @@ the Job data to the tape is completed, the attributes and storage coordinates will be sent to the Director. \item [Where = \lt{}directory\gt{}] - \index[dir]{Where } + \index[dir]{Where} + \index[dir]{Directive!Where} This directive applies only to a Restore job and specifies a prefix to the directory name of all files being restored. This permits files to be restored in a different location from which they were saved. If {\bf Where} is not @@ -1047,7 +1113,8 @@ configuration files to be {\bf /tmp/bacula-restores}. This is to prevent accidental overwriting of your files. \item [Replace = \lt{}replace-option\gt{}] - \index[dir]{Replace } + \index[dir]{Replace} + \index[dir]{Directive!Replace} This directive applies only to a Restore job and specifies what happens when Bacula wants to restore a file or directory that already exists. You have the following options for {\bf replace-option}: @@ -1077,6 +1144,7 @@ by \item [Prefix Links=\lt{}yes|no\gt{}] \index[dir]{Prefix Links} + \index[dir]{Directive!Prefix Links} If a {\bf Where} path prefix is specified for a recovery job, apply it to absolute links as well. The default is {\bf No}. When set to {\bf Yes} then while restoring files to an alternate directory, any absolute @@ -1086,7 +1154,8 @@ by original locations, all files linked with absolute names will be broken. \item [Maximum Concurrent Jobs = \lt{}number\gt{}] - \index[dir]{Maximum Concurrent Jobs } + \index[dir]{Maximum Concurrent Jobs} + \index[dir]{Directive!Maximum Concurrent Jobs} where \lt{}number\gt{} is the maximum number of Jobs from the current Job resource that can run concurrently. Note, this directive limits only Jobs with the same name as the resource in which it appears. Any @@ -1098,7 +1167,8 @@ by Director's resource. \item [Reschedule On Error = \lt{}yes|no\gt{}] - \index[dir]{Reschedule On Error } + \index[dir]{Reschedule On Error} + \index[dir]{Reschedule On Error} If this directive is enabled, and the job terminates in error, the job will be rescheduled as determined by the {\bf Reschedule Interval} and {\bf Reschedule Times} directives. If you cancel the job, it will not @@ -1110,7 +1180,8 @@ by machines that are not always connected to the network or switched on. \item [Reschedule Interval = \lt{}time-specification\gt{}] - \index[dir]{Reschedule Interval } + \index[dir]{Reschedule Interval} + \index[dir]{Directive!Reschedule Interval} If you have specified {\bf Reschedule On Error = yes} and the job terminates in error, it will be rescheduled after the interval of time specified by {\bf time-specification}. See \ilink{the time @@ -1119,13 +1190,15 @@ by rescheduled on error. \item [Reschedule Times = \lt{}count\gt{}] - \index[dir]{Reschedule Times } + \index[dir]{Reschedule Times} + \index[dir]{Directive!Reschedule Times} This directive specifies the maximum number of times to reschedule the job. If it is set to zero (the default) the job will be rescheduled an indefinite number of times. \item [Run = \lt{}job-name\gt{}] - \index[dir]{Run directive} + \index[dir]{Run} + \index[dir]{Directive!Run} \index[dir]{Clone a Job} The Run directive (not to be confused with the Run option in a Schedule) allows you to start other jobs or to clone jobs. By using the @@ -1159,7 +1232,8 @@ by \label{Priority} \item [Priority = \lt{}number\gt{}] - \index[dir]{Priority } + \index[dir]{Priority} + \index[dir]{Directive!Priority} This directive permits you to control the order in which your jobs run by specifying a positive non-zero number. The higher the number, the lower the job priority. Assuming you are not running concurrent jobs, @@ -1210,7 +1284,8 @@ correct order, and that your priority scheme will be respected. \label{WritePartAfterJob} \item [Write Part After Job = \lt{}yes|no\gt{}] - \index[dir]{Write Part After Job } + \index[dir]{Write Part After Job} + \index[dir]{Directive!Write Part After Job} This directive is only implemented in version 1.37 and later. If this directive is set to {\bf yes} (default {\bf no}), a new part file will be created after the job is finished. @@ -1274,16 +1349,19 @@ be run manually. In general, you specify an action to be taken and when. \item [Schedule] \index[dir]{Schedule} + \index[dir]{Directive!Schedule} Start of the Schedule directives. No {\bf Schedule} resource is required, but you will need at least one if you want Jobs to be automatically started. \item [Name = \lt{}name\gt{}] - \index[dir]{Name } + \index[dir]{Name} + \index[dir]{Directive!Name} The name of the schedule being defined. The Name directive is required. \item [Run = \lt{}Job-overrides\gt{} \lt{}Date-time-specification\gt{}] - \index[dir]{Run } + \index[dir]{Run} + \index[dir]{Directive!Run} The Run directive defines when a Job is to be run, and what overrides if any to apply. You may specify multiple {\bf run} directives within a {\bf Schedule} resource. If you do, they will all be applied (i.e. multiple @@ -1313,47 +1391,57 @@ spaces or by separating them with a trailing comma. For example: \item [Level=Full] \index[dir]{Level} + \index[dir]{Directive!Level} is all files in the FileSet whether or not they have changed. \item [Level=Incremental] \index[dir]{Level} + \index[dir]{Directive!Level} is all files that have changed since the last backup. \item [Pool=Weekly] \index[dir]{Pool} + \index[dir]{Directive!Pool} specifies to use the Pool named {\bf Weekly}. \item [Storage=DLT\_Drive] \index[dir]{Storage} + \index[dir]{Directive!Storage} specifies to use {\bf DLT\_Drive} for the storage device. \item [Messages=Verbose] \index[dir]{Messages} + \index[dir]{Directive!Messages} specifies to use the {\bf Verbose} message resource for the Job. \item [FullPool=Full] \index[dir]{FullPool} + \index[dir]{Directive!FullPool} specifies to use the Pool named {\bf Full} if the job is a full backup, or is upgraded from another type to a full backup. \item [DifferentialPool=Differential] \index[dir]{DifferentialPool} + \index[dir]{Directive!DifferentialPool} specifies to use the Pool named {\bf Differential} if the job is a differential backup. \item [IncrementalPool=Incremental] \index[dir]{IncrementalPool} + \index[dir]{Directive!IncrementalPool} specifies to use the Pool named {\bf Incremental} if the job is an incremental backup. \item [SpoolData=yes|no] \index[dir]{SpoolData} + \index[dir]{Directive!SpoolData} tells Bacula to request the Storage daemon to spool data to a disk file before putting it on tape. \item [WritePartAfterJob=yes|no] \index[dir]{WritePartAfterJob} + \index[dir]{Directive!WritePartAfterJob} tells Bacula to request the Storage daemon to write the current part file to the device when the job is finished (see \ilink{Write Part After Job directive in the Job @@ -1546,33 +1634,39 @@ one Client resource definition for each machine to be backed up. \item [Client (or FileDaemon)] \index[dir]{Client (or FileDaemon)} + \index[dir]{Directive!Client (or FileDaemon)} Start of the Client directives. \item [Name = \lt{}name\gt{}] - \index[dir]{Name } + \index[dir]{Name} + \index[dir]{Directive!Name} The client name which will be used in the Job resource directive or in the console run command. This directive is required. \item [Address = \lt{}address\gt{}] - \index[dir]{Address } + \index[dir]{Address} + \index[dir]{Directive!Address} Where the address is a host name, a fully qualified domain name, or a network address in dotted quad notation for a Bacula File server daemon. This directive is required. \item [FD Port = \lt{}port-number\gt{}] - \index[dir]{FD Port } + \index[dir]{FD Port} + \index[dir]{Directive!FD Port} Where the port is a port number at which the Bacula File server daemon can be contacted. The default is 9102. \item [Catalog = \lt{}Catalog-resource-name\gt{}] - \index[dir]{Catalog } + \index[dir]{Catalog} + \index[dir]{Directive!Catalog} This specifies the name of the catalog resource to be used for this Client. This directive is required. \item [Password = \lt{}password\gt{}] - \index[dir]{Password } + \index[dir]{Password} + \index[dir]{Directive!Password} This is the password to be used when establishing a connection with the File services, so the Client configuration file on the machine to be backed up must have the same password defined for this Director. This directive is @@ -1582,7 +1676,8 @@ otherwise it will be left blank. \label{FileRetention} \item [File Retention = \lt{}time-period-specification\gt{}] - \index[dir]{File Retention } + \index[dir]{File Retention} + \index[dir]{Directive!File Retention} The File Retention directive defines the length of time that Bacula will keep File records in the Catalog database. When this time period expires, and if @@ -1603,7 +1698,8 @@ The default is 60 days. \label{JobRetention} \item [Job Retention = \lt{}time-period-specification\gt{}] - \index[dir]{Job Retention } + \index[dir]{Job Retention} + \index[dir]{Directive!Job Retention} The Job Retention directive defines the length of time that Bacula will keep Job records in the Catalog database. When this time period expires, and if {\bf AutoPrune} is set to {\bf yes} Bacula will prune (remove) Job records @@ -1629,7 +1725,8 @@ The default is 180 days. \label{AutoPrune} \item [AutoPrune = \lt{}yes|no\gt{}] - \index[dir]{AutoPrune } + \index[dir]{AutoPrune} + \index[dir]{Directive!AutoPrune} If AutoPrune is set to {\bf yes} (default), Bacula (version 1.20 or greater) will automatically apply the File retention period and the Job retention period for the Client at the end of the Job. If you set {\bf AutoPrune = no}, @@ -1638,7 +1735,8 @@ run a Job. Pruning affects only information in the catalog and not data stored in the backup archives (on Volumes). \item [Maximum Concurrent Jobs = \lt{}number\gt{}] - \index[dir]{Maximum Concurrent Jobs } + \index[dir]{Maximum Concurrent Jobs} + \index[dir]{Directive!Maximum Concurrent Jobs} where \lt{}number\gt{} is the maximum number of Jobs with the current Client that can run concurrently. Note, this directive limits only Jobs for Clients with the same name as the resource in which it appears. Any other @@ -1649,12 +1747,13 @@ recommend that you read the WARNING documented under \ilink{ Maximum Concurrent Jobs}{DirMaxConJobs} in the Director's resource. -\item [*Priority = \lt{}number\gt{}] - \index[dir]{*Priority } +\item [Priority = \lt{}number\gt{}] + \index[dir]{Priority} + \index[dir]{Directive!Priority} The number specifies the priority of this client relative to other clients -that the Director is processing simultaneously. The priority can range from -1 to 1000. The clients are ordered such that the smaller number priorities -are performed first (not currently implemented). + that the Director is processing simultaneously. The priority can range from + 1 to 1000. The clients are ordered such that the smaller number priorities + are performed first (not currently implemented). \end{description} The following is an example of a valid Client resource definition: @@ -1683,16 +1782,19 @@ the Director. \item [Storage] \index[dir]{Storage} + \index[dir]{Directive!Storage} Start of the Storage resources. At least one storage resource must be specified. \item [Name = \lt{}name\gt{}] - \index[dir]{Name } + \index[dir]{Name} + \index[dir]{Directive!Name} The name of the storage resource. This name appears on the Storage directive specified in the Job resource and is required. \item [Address = \lt{}address\gt{}] - \index[dir]{Address } + \index[dir]{Address} + \index[dir]{Directive!Address} Where the address is a host name, a {\bf fully qualified domain name}, or an {\bf IP address}. Please note that the \lt{}address\gt{} as specified here will be transmitted to the File daemon who will then use it to contact the @@ -1701,13 +1803,15 @@ the name but rather a fully qualified machine name or an IP address. This directive is required. \item [SD Port = \lt{}port\gt{}] - \index[dir]{SD Port } + \index[dir]{SD Port} + \index[dir]{Directive!SD Port} Where port is the port to use to contact the storage daemon for information and to start jobs. This same port number must appear in the Storage resource of the Storage daemon's configuration file. The default is 9103. \item [Password = \lt{}password\gt{}] \index[dir]{Password} + \index[dir]{Directive!Password} This is the password to be used when establishing a connection with the Storage services. This same password also must appear in the Director resource of the Storage daemon's configuration file. This directive is @@ -1717,25 +1821,27 @@ otherwise it will be left blank. \item [Device = \lt{}device-name\gt{}] \index[dir]{Device} - This directive specifies the name of the device to be used for the - storage. This name is not the physical device name, but the logical - device name as defined on the {\bf Name} directive contained in the {\bf - Device} resource definition of the {\bf Storage daemon} configuration - file or if the device is an Autochanger, you must put the name as - defined on the {\bf Name} directive contained in the {\bf Autochanger} - resource definition of the {\bf Storage daemon}. You can specify any - name you would like (even the device name if you prefer) up to a maximum - of 127 characters in length. The physical device name associated with - this device is specified in the {\bf Storage daemon} configuration file - (as {\bf Archive Device}). Please take care not to define two different - Storage resource directives in the Director that point to the same - Device in the Storage daemon. Doing so may cause the Storage daemon to - block (or hang) attempting to open the same device that is already open. + \index[dir]{Directive!Device} + This directive specifies the Storage daemon's name of the device resource + to be used for the storage. This name is not the physical device name, but + the logical device name as defined on the {\bf Name} directive contained in + the {\bf Device} resource definition of the {\bf Storage daemon} + configuration file or if the device is an Autochanger, you must put the + name as defined on the {\bf Name} directive contained in the {\bf + Autochanger} resource definition of the {\bf Storage daemon}. You can + specify any name you would like (even the device name if you prefer) up to + a maximum of 127 characters in length. The physical device name associated + with this device is specified in the {\bf Storage daemon} configuration + file (as {\bf Archive Device}). Please take care not to define two + different Storage resource directives in the Director that point to the + same Device in the Storage daemon. Doing so may cause the Storage daemon + to block (or hang) attempting to open the same device that is already open. This directive is required. \label{MediaType} \item [Media Type = \lt{}MediaType\gt{}] \index[dir]{Media Type} + \index[dir]{Directive!Media Type} This directive specifies the Media Type to be used to store the data. This is an arbitrary string of characters up to 127 maximum that you define. It can be anything you want. However, it is best to make it @@ -1748,6 +1854,13 @@ otherwise it will be left blank. associated with the Job, Bacula can decide to use any Storage daemon that supports Media Type {\bf DDS-4} and on any drive that supports it. + Currently Bacula permits only a single Media Type. Consequently, if + you have a drive that supports more than one Media Type, you can + give a unique string to Volumes with different intrinsic Media + Type (Media Type = DDS-3-4 for DDS-3 and DDS-4 types), but then + those volumes will only be mounted on drives indicated with the + dual type (DDS-3-4). + If you want to tie Bacula to using a single Storage daemon or drive, you must specify a unique Media Type for that drive. This is an important point that should be carefully understood. Note, this applies equally @@ -1776,7 +1889,8 @@ otherwise it will be left blank. \label{Autochanger1} \item [Autochanger = \lt{}yes|no\gt{}] - \index[dir]{Autochanger } + \index[dir]{Autochanger} + \index[dir]{Directive!Autochanger} If you specify {\bf yes} for this command (the default is {\bf no}), when you use the {\bf label} command or the {\bf add} command to create a new Volume, {\bf Bacula} will also request the Autochanger Slot number. @@ -1800,7 +1914,8 @@ otherwise it will be left blank. using autochangers. \item [Maximum Concurrent Jobs = \lt{}number\gt{}] - \index[dir]{Maximum Concurrent Jobs } + \index[dir]{Maximum Concurrent Jobs} + \index[dir]{Directive!Maximum Concurrent Jobs} where \lt{}number\gt{} is the maximum number of Jobs with the current Storage resource that can run concurrently. Note, this directive limits only Jobs @@ -1915,18 +2030,21 @@ The Pool Resource defined in the Director's configuration file \item [Pool] \index[dir]{Pool} + \index[dir]{Directive!Pool} Start of the Pool resource. There must be at least one Pool resource defined. \item [Name = \lt{}name\gt{}] - \index[dir]{Name } + \index[dir]{Name} + \index[dir]{Directive!Name} The name of the pool. For most applications, you will use the default pool name {\bf Default}. This directive is required. \label{MaxVolumes} \item [Maximum Volumes = \lt{}number\gt{}] - \index[dir]{Maximum Volumes } + \index[dir]{Maximum Volumes} + \index[dir]{Directive!Maximum Volumes} This directive specifies the maximum number of volumes (tapes or files) contained in the pool. This directive is optional, if omitted or set to zero, any number of volumes will be permitted. In general, this @@ -1935,7 +2053,8 @@ The Pool Resource defined in the Director's configuration file made to disk files do not become too numerous or consume too much space. \item [Pool Type = \lt{}type\gt{}] - \index[dir]{Pool Type } + \index[dir]{Pool Type} + \index[dir]{Directive!Pool Type} This directive defines the pool type, which corresponds to the type of Job being run. It is required and may be one of the following: @@ -1949,7 +2068,8 @@ The Pool Resource defined in the Director's configuration file \end{itemize} \item [Use Volume Once = \lt{}yes|no\gt{}] - \index[dir]{Use Volume Once } + \index[dir]{Use Volume Once} + \index[dir]{Directive!Use Volume Once} This directive if set to {\bf yes} specifies that each volume is to be used only once. This is most useful when the Media is a file and you want a new file for each backup that is done. The default is {\bf no} @@ -1964,7 +2084,8 @@ The Pool Resource defined in the Director's configuration file Volume you must use the {\bf update} command in the Console. \item [Maximum Volume Jobs = \lt{}positive-integer\gt{}] - \index[dir]{Maximum Volume Jobs } + \index[dir]{Maximum Volume Jobs} + \index[dir]{Directive!Maximum Volume Jobs} This directive specifies the maximum number of Jobs that can be written to the Volume. If you specify zero (the default), there is no limit. Otherwise, when the number of Jobs backed up to the Volume equals {\bf @@ -1981,7 +2102,8 @@ The Pool Resource defined in the Director's configuration file must use the {\bf update} command in the Console. \item [Maximum Volume Files = \lt{}positive-integer\gt{}] - \index[dir]{Maximum Volume Files } + \index[dir]{Maximum Volume Files} + \index[dir]{Directive!Maximum Volume Files} This directive specifies the maximum number of files that can be written to the Volume. If you specify zero (the default), there is no limit. Otherwise, when the number of files written to the Volume equals {\bf @@ -1999,7 +2121,8 @@ The Pool Resource defined in the Director's configuration file Volume you must use the {\bf update} command in the Console. \item [Maximum Volume Bytes = \lt{}size\gt{}] - \index[dir]{Maximum Volume Bytes } + \index[dir]{Maximum Volume Bytes} + \index[dir]{Directive!Maximum Volume Bytes} This directive specifies the maximum number of bytes that can be written to the Volume. If you specify zero (the default), there is no limit except the physical size of the Volume. Otherwise, when the number of @@ -2017,7 +2140,8 @@ The Pool Resource defined in the Director's configuration file Volume you must use the {\bf update} command in the Console. \item [Volume Use Duration = \lt{}time-period-specification\gt{}] - \index[dir]{Volume Use Duration } + \index[dir]{Volume Use Duration} + \index[dir]{Directive!Volume Use Duration} The Volume Use Duration directive defines the time period that the Volume can be written beginning from the time of first data write to the Volume. If the time-period specified is zero (the default), the Volume @@ -2056,7 +2180,8 @@ The Pool Resource defined in the Director's configuration file \ilink{\bf update volume}{UpdateCommand} command in the Console. \item [Catalog Files = \lt{}yes|no\gt{}] - \index[dir]{Catalog Files } + \index[dir]{Catalog Files} + \index[dir]{Directive!Catalog Files} This directive defines whether or not you want the names of the files that were saved to be put into the catalog. The default is {\bf yes}. The advantage of specifying {\bf Catalog Files = No} is that you will @@ -2068,7 +2193,8 @@ The Pool Resource defined in the Director's configuration file \label{PoolAutoPrune} \item [AutoPrune = \lt{}yes|no\gt{}] - \index[dir]{AutoPrune } + \index[dir]{AutoPrune} + \index[dir]{Directive!AutoPrune} If AutoPrune is set to {\bf yes} (default), Bacula (version 1.20 or greater) will automatically apply the Volume Retention period when new Volume is needed and no appendable Volumes exist in the Pool. Volume pruning causes @@ -2077,7 +2203,8 @@ The Pool Resource defined in the Director's configuration file \label{VolRetention} \item [Volume Retention = \lt{}time-period-specification\gt{}] - \index[dir]{Volume Retention } + \index[dir]{Volume Retention} + \index[dir]{Directive!Volume Retention} The Volume Retention directive defines the length of time that {\bf Bacula} will keep Job records associated with the Volume in the Catalog database. When this time period expires, and if {\bf AutoPrune} is set @@ -2126,7 +2253,8 @@ The Pool Resource defined in the Director's configuration file \label{PoolRecycle} \item [Recycle = \lt{}yes|no\gt{}] - \index[dir]{Recycle } + \index[dir]{Recycle} + \index[dir]{Directive!Recycle} This directive specifies whether or not Purged Volumes may be recycled. If it is set to {\bf yes} (default) and Bacula needs a volume but finds none that are appendable, it will search for and recycle (reuse) Purged @@ -2147,7 +2275,8 @@ The Pool Resource defined in the Director's configuration file \label{RecycleOldest} \item [Recycle Oldest Volume = \lt{}yes|no\gt{}] - \index[dir]{Recycle Oldest Volume } + \index[dir]{Recycle Oldest Volume} + \index[dir]{Directive!Recycle Oldest Volume} This directive instructs the Director to search for the oldest used Volume in the Pool when another Volume is requested by the Storage daemon and none are available. The catalog is then {\bf pruned} @@ -2170,7 +2299,8 @@ The Pool Resource defined in the Director's configuration file \label{RecycleCurrent} \item [Recycle Current Volume = \lt{}yes|no\gt{}] - \index[dir]{Recycle Current Volume } + \index[dir]{Recycle Current Volume} + \index[dir]{Directive!Recycle Current Volume} If Bacula needs a new Volume, this directive instructs Bacula to Prune the volume respecting the Job and File retention periods. If all Jobs are pruned (i.e. the volume is Purged), then the Volume is recycled and @@ -2192,7 +2322,8 @@ The Pool Resource defined in the Director's configuration file \label{PurgeOldest} \item [Purge Oldest Volume = \lt{}yes|no\gt{}] - \index[dir]{Purge Oldest Volume } + \index[dir]{Purge Oldest Volume} + \index[dir]{Directive!Purge Oldest Volume} This directive instructs the Director to search for the oldest used Volume in the Pool when another Volume is requested by the Storage daemon and none are available. The catalog is then {\bf purged} @@ -2220,7 +2351,8 @@ The Pool Resource defined in the Director's configuration file data. The default is {\bf no}. \item [Cleaning Prefix = \lt{}string\gt{}] - \index[dir]{Cleaning Prefix } + \index[dir]{Cleaning Prefix} + \index[dir]{Directive!Cleaning Prefix} This directive defines a prefix string, which if it matches the beginning of a Volume name during labeling of a Volume, the Volume will be defined with the VolStatus set to {\bf Cleaning} and thus Bacula will @@ -2230,7 +2362,8 @@ The Pool Resource defined in the Director's configuration file \label{Label} \item [Label Format = \lt{}format\gt{}] - \index[dir]{Label Format } + \index[dir]{Label Format} + \index[dir]{Directive!Label Format} This directive specifies the format of the labels contained in this pool. The format directive is used as a sort of template to create new Volume names during automatic Volume labeling. @@ -2321,24 +2454,28 @@ database. \item [Catalog] \index[dir]{Catalog} + \index[dir]{Directive!Catalog} Start of the Catalog resource. At least one Catalog resource must be defined. \item [Name = \lt{}name\gt{}] - \index[dir]{Name } + \index[dir]{Name} + \index[dir]{Directive!Name} The name of the Catalog. No necessary relation to the database server name. This name will be specified in the Client resource directive indicating that all catalog data for that Client is maintained in this Catalog. This directive is required. \item [password = \lt{}password\gt{}] - \index[dir]{password } + \index[dir]{password} + \index[dir]{Directive!password} This specifies the password to use when logging into the database. This directive is required. \item [DB Name = \lt{}name\gt{}] - \index[dir]{DB Name } + \index[dir]{DB Name} + \index[dir]{Directive!DB Name} This specifies the name of the database. If you use multiple catalogs (databases), you specify which one here. If you are using an external database server rather than the internal one, you must specify a name @@ -2346,19 +2483,22 @@ defined. tables using this name. This directive is required. \item [user = \lt{}user\gt{}] - \index[dir]{user } + \index[dir]{user} + \index[dir]{Directive!user} This specifies what user name to use to log into the database. This directive is required. \item [DB Socket = \lt{}socket-name\gt{}] - \index[dir]{DB Socket } + \index[dir]{DB Socket} + \index[dir]{Directive!DB Socket} This is the name of a socket to use on the local host to connect to the database. This directive is used only by MySQL and is ignored by SQLite. Normally, if neither {\bf DB Socket} or {\bf DB Address} are specified, MySQL will use the default socket. \item [DB Address = \lt{}address\gt{}] - \index[dir]{DB Address } + \index[dir]{DB Address} + \index[dir]{Directive!DB Address} This is the host address of the database server. Normally, you would specify this instead of {\bf DB Socket} if the database server is on another machine. In that case, you will also specify {\bf DB Port}. This directive is used @@ -2366,13 +2506,15 @@ only by MySQL and is ignored by SQLite if provided. This directive is optional. \item [DB Port = \lt{}port\gt{}] - \index[dir]{DB Port } + \index[dir]{DB Port} + \index[dir]{Directive!DB Port} This defines the port to be used in conjunction with {\bf DB Address} to access the database if it is on another machine. This directive is used only by MySQL and is ignored by SQLite if provided. This directive is optional. %% \item [Multiple Connections = \lt{}yes|no\gt{}] -%% \index[dir]{Multiple Connections } +%% \index[dir]{Multiple Connections} +%% \index[dir]{Directive!Multiple Connections} %% By default, this directive is set to no. In that case, each job that uses the %% same Catalog will use a single connection to the catalog. It will be shared, @@ -2487,13 +2629,15 @@ directives are permitted within the Director's configuration resource: \begin{description} \item [Name = \lt{}name\gt{}] - \index[dir]{Name } + \index[dir]{Name} + \index[dir]{Directive!Name} The name of the console. This name must match the name specified in the Console's configuration resource (much as is the case with Client definitions). \item [Password = \lt{}password\gt{}] - \index[dir]{Password } + \index[dir]{Password} + \index[dir]{Directive!Password} Specifies the password that must be supplied for a named Bacula Console to be authorized. The same password must appear in the {\bf Console} resource of the Console configuration file. For added security, the @@ -2504,7 +2648,8 @@ definitions). process, otherwise it will be left blank. \item [JobACL = \lt{}name-list\gt{}] - \index[dir]{JobACL } + \index[dir]{JobACL} + \index[dir]{Directive!JobACL} This directive is used to specify a list of Job resource names that can be accessed by the console. Without this directive, the console cannot access any of the Director's Job resources. Multiple Job resource names @@ -2524,38 +2669,44 @@ With the above specification, the console can access the Director's resources for the four jobs named on the JobACL directives, but for no others. \item [ClientACL = \lt{}name-list\gt{}] - \index[dir]{ClientACL } + \index[dir]{ClientACL} + \index[dir]{Directive!ClientACL} This directive is used to specify a list of Client resource names that can be accessed by the console. \item [StorageACL = \lt{}name-list\gt{}] - \index[dir]{StorageACL } + \index[dir]{StorageACL} + \index[dir]{Directive!StorageACL} This directive is used to specify a list of Storage resource names that can be accessed by the console. \item [ScheduleACL = \lt{}name-list\gt{}] - \index[dir]{ScheduleACL } + \index[dir]{ScheduleACL} + \index[dir]{Directive!ScheduleACL} This directive is used to specify a list of Schedule resource names that can be accessed by the console. \item [PoolACL = \lt{}name-list\gt{}] - \index[dir]{PoolACL } + \index[dir]{PoolACL} + \index[dir]{Directive!PoolACL} This directive is used to specify a list of Pool resource names that can be accessed by the console. \item [FileSetACL = \lt{}name-list\gt{}] - \index[dir]{FileSetACL } + \index[dir]{FileSetACL} + \index[dir]{Directive!FileSetACL} This directive is used to specify a list of FileSet resource names that can be accessed by the console. \item [CatalogACL = \lt{}name-list\gt{}] - \index[dir]{CatalogACL } + \index[dir]{CatalogACL} + \index[dir]{Directive!CatalogACL} This directive is used to specify a list of Catalog resource names that can be accessed by the console. \item [CommandACL = \lt{}name-list\gt{}] - \index[dir]{CommandACL } + \index[dir]{CommandACL} This directive is used to specify a list of of console commands that can be executed by the console. \end{description} @@ -2584,34 +2735,41 @@ details. \item [Counter] \index[dir]{Counter} + \index[dir]{Directive!Counter} Start of the Counter resource. Counter directives are optional. \item [Name = \lt{}name\gt{}] - \index[dir]{Name } + \index[dir]{Name} + \index[dir]{Directive!Name} The name of the Counter. This is the name you will use in the variable expansion to reference the counter value. \item [Minimum = \lt{}integer\gt{}] - \index[dir]{Minimum } + \index[dir]{Minimum} + \index[dir]{Directive!Minimum} This specifies the minimum value that the counter can have. It also becomes the default. If not supplied, zero is assumed. \item [Maximum = \lt{}integer\gt{}] - \index[dir]{Maximum } + \index[dir]{Maximum} + \index[dir]{Directive!Maximum} + \index[dir]{Directive!Maximum} This is the maximum value value that the counter can have. If not specified or set to zero, the counter can have a maximum value of 2,147,483,648 (2 to the 31 power). When the counter is incremented past this value, it is reset to the Minimum. \item [*WrapCounter = \lt{}counter-name\gt{}] - \index[dir]{*WrapCounter } + \index[dir]{*WrapCounter} + \index[dir]{Directive!*WrapCounter} If this value is specified, when the counter is incremented past the maximum and thus reset to the minimum, the counter specified on the {\bf WrapCounter} is incremented. (This is not currently implemented). \item [Catalog = \lt{}catalog-name\gt{}] - \index[dir]{Catalog } + \index[dir]{Catalog} + \index[dir]{Directive!Catalog} If this directive is specified, the counter and its values will be saved in the specified catalog. If this directive is not present, the counter will be redefined each time that Bacula is started. @@ -2674,7 +2832,7 @@ Job { FileSet { Name = "Full Set" Include { - Options { signature=SHA1 } + Options { signature=SHA1} # # Put your list of files here, one per line or include an # external list with: @@ -2683,7 +2841,7 @@ FileSet { # # Note: / backs up everything File = / - } +} Exclude {} } # When to do the backups diff --git a/docs/manual/postgresql.tex b/docs/manual/postgresql.tex index e8df71a7..fe6e11dc 100644 --- a/docs/manual/postgresql.tex +++ b/docs/manual/postgresql.tex @@ -136,14 +136,14 @@ PostgreSQL-directory/bin/psql --command \\dp bacula \normalsize Also, I had an authorization problem with the password. In the end, -I had to modify my {\bf pg_hba.conf} file (in /var/lib/pgsql on my machine) +I had to modify my {\bf pg_hba.conf} file (in /var/lib/pgsql/data on my machine) from: \footnotesize \begin{verbatim} - local all all ident + local all all ident sameuser to - local all all trust + local all all trust sameuser \end{verbatim} \normalsize @@ -297,7 +297,7 @@ before proceeding with this process! \footnotesize \begin{verbatim} - mysqldump -f -t -n >bacula-backup.dmp> + mysqldump -f -t -n >bacula-backup.dmp \end{verbatim} \normalsize diff --git a/docs/manual/storedconf.tex b/docs/manual/storedconf.tex index 712a18e0..a811b7ac 100644 --- a/docs/manual/storedconf.tex +++ b/docs/manual/storedconf.tex @@ -481,7 +481,7 @@ bacula-sd Alert: TapeAlert[32]: Interface: Problem with SCSI interface for reserving a drive for something special such as a high priority backup or restore operations. -\item [Maximum Changer Wait = {\it seconds}] +\item [Maximum Changer Wait = {\it time}] \index[sd]{Maximum Changer Wait} This directive specifies the maximum time in seconds for Bacula to wait for an autochanger to change the volume. If this time is exceeded, @@ -489,22 +489,13 @@ bacula-sd Alert: TapeAlert[32]: Interface: Problem with SCSI interface try again. If no additional changer volumes exist, Bacula will ask the operator to intervene. The default is 5 minutes. - Please note that if you want to set your changer wait time to - 10 minutes, you must specify: - -\begin{verbatim} -Maximum Changer Wait = 600 -\end{verbatim} - - This directive will not accept qualifiers (such as "minutes"). - -\item [Maximum Rewind Wait = {\it seconds}] +\item [Maximum Rewind Wait = {\it time}] \index[sd]{Maximum Rewind Wait} This directive specifies the maximum time in seconds for Bacula to wait for a rewind before timing out. If this time is exceeded, Bacula will cancel the job. The default is 5 minutes. -\item [Maximum Open Wait = {\it seconds}] +\item [Maximum Open Wait = {\it time}] \index[sd]{Maximum Open Wait} This directive specifies the maximum time in seconds for Bacula to wait for a open before timing out. If this time is exceeded, @@ -568,7 +559,7 @@ Maximum Changer Wait = 600 the drive on the next poll and automatically continue with the backup. Please see above more more details. -\item [Maximum Open Wait = {\it seconds}] +\item [Maximum Open Wait = {\it time}] \index[sd]{Maximum Open Wait } This directive specifies the maximum amount of time in seconds that Bacula will wait for a device that is busy. The default is 5 minutes. diff --git a/docs/manual/version.tex b/docs/manual/version.tex index c09bb4e4..eb54cda0 100644 --- a/docs/manual/version.tex +++ b/docs/manual/version.tex @@ -1 +1 @@ -1.39.5 (20 February 2006) +1.38.6-beta3 (04 March 2006) diff --git a/docs/manual/win32.tex b/docs/manual/win32.tex index bd7b6900..6d5ed281 100644 --- a/docs/manual/win32.tex +++ b/docs/manual/win32.tex @@ -40,12 +40,13 @@ This install is standard Windows .exe that runs an install wizard using the NSIS Free Software installer, so if you have already installed Windows software, it should be very familiar to you. -If you have a previous version Cygwin of Bacula (1.32 or lower) installed, -you should stop the service, uninstall it, and remove the Bacula -installation directory possibly saving your bacula-fd.conf file for use -with the new version you will install. The new native version of Bacula -has far fewer files than the old Cygwin version, so it is better to start -with a clean directory. +If you have a previous version Cygwin of Bacula (1.32 or lower) +installed, you should stop the service, uninstall it, and remove +the Bacula installation directory possibly saving your +bacula-fd.conf file for use with the new version you will +install. Current versions of Bacula do not use Cygwin and has +far fewer files than the old Cygwin version, so it is better to +start with a clean directory. Finally, proceed with the installation.