]> git.sur5r.net Git - bacula/docs/blobdiff - docs/manual/fileset.tex
Update the "Filesystem change prohibited. Will not descend into /misc"
[bacula/docs] / docs / manual / fileset.tex
index 2b692168e779f257119bc74219facc47cf5ed393..c3b1c171a007467d41924826076134fe63bb4bde 100644 (file)
@@ -1,10 +1,10 @@
-%%
+-%
 %%
 
 \subsection*{The FileSet Resource}
 \label{FileSetResource}
-\index[general]{Resource!FileSet }
-\index[general]{FileSet Resource }
+\index[general]{Resource!FileSet}
+\index[general]{FileSet Resource}
 \addcontentsline{toc}{subsection}{FileSet Resource}
 
 The FileSet resource defines what files are to be included or excluded in a
@@ -23,24 +23,32 @@ Bacula will ensure that the next backup is always a Full save.
 
 \item [FileSet]
 \index[dir]{FileSet}
+\index[dir]{Directive!FileSet}
 Start of the FileSet resource. One {\bf FileSet}  resource must be
 defined for each Backup job.
 
 \item [Name = \lt{}name\gt{}]
 \index[dir]{Name}
+\index[dir]{Directive!Name}
    The name of the FileSet resource.  This directive is required. 
 
 \item [Ignore FileSet Changes = \lt{}yes|no\gt{}]
 \index[dir]{Ignore FileSet Changes}
-   If this directive is set to {\bf yes}, any changes you make to the  FileSet
-   Include or Exclude lists will be ignored and not cause Bacula  to immediately
-   perform a Full backup. The default is {\bf no}, in which  case, if you change
-   the Include or Exclude, Bacula will force a Full  backup to ensure that
-   everything is properly backed up. It is not recommended  to set this directive
-   to yes. This directive is available in Bacula  version 1.35.4 or later. 
+\index[dir]{Directive!Ignore FileSet Changes}
+   Normally, if you modify the FileSet Include or Exclude lists,
+   the next backup will be forced to a Full so that Bacula can
+   guarantee that any additions or deletions are properly backed
+   up.
+   If this directive is set to {\bf yes}, any changes you make to the
+   FileSet Include or Exclude lists will be ignored and not cause Bacula to
+   immediately perform a Full backup.  The default is {\bf no}, in which
+   case, if you change the Include or Exclude, Bacula will force a Full
+   backup to ensure that everything is properly backed up.  It is not
+   recommended to set this directive to yes.
 
 \item [Enable VSS = \lt{}yes|no\gt{}]
 \index[dir]{Enable VSS}
+\index[dir]{Directive!Enable VSS}
   If this directive is set to {\bf yes} the File daemon will be notified
   that the user wants to use a Volume Shadow Copy Service (VSS) backup
   for this job. The default is {\bf no}. This directive is effective
@@ -54,12 +62,14 @@ defined for each Backup job.
    \lt{}file-list\gt{} \} ]
 \index[dir]{Include \{ [ Options \{\lt{}file-options\gt{}\} ...]
    \lt{}file-list\gt{} \}  }
+\index[dir]{Directive!Include}
 
 \item [Options \{ \lt{}file-options\gt{} \} ]
 \index[dir]{Options  \{ \lt{}file-options\gt{} \}  }
 
 \item [Exclude \{ \lt{}file-list\gt{} \}]
 \index[dir]{Exclude \{ \lt{}file-list\gt{} \} }
+\index[dir]{Directive!Exclude}
 
 \end{description}
 
@@ -69,7 +79,8 @@ subdirectories of any directory in the Include File list will be backed up.
 Note, see below for the definition of \lt{}file-list\gt{}. 
 The Include resource may also contain one or more Options resources that
 specify options such as compression to be applied to all or any subset of
-the files found when processing the file-list for backup.
+the files found when processing the file-list for backup. Please see
+below for more details concerning Options resources.
 
 There can be any number of {\bf Include} resources within the FileSet, each
 having its own list of directories or files to be backed up and the backup
@@ -143,8 +154,11 @@ See below for the definition of file-list.
 Multiple Options resources may be specified one after another.  As the
 files are found in the specified directories, the Options will applied to
 the filenames to determine if and how the file should be backed up.  The
-Options resources are applied in the order they are specified in the
-FileSet until the first one that matches.  
+wildcard and regular expression pattern matching parts of the
+Options resources are checked in the order they are specified in the
+FileSet until the first one that matches. Once one matches, the
+compression and other flags within the Options specification will
+apply to the pattern matched.
 
 A key point is that in the absence of an Option or no other Option is
 matched, every file is accepted for backing up. This means that if
@@ -156,18 +170,17 @@ consideration, that file will be saved without looking at any other Options
 resources that may be present.  This means that any wild cards must appear
 before an Options resource without wild cards.
 
-If for some reason, Bacula applies all the Options resources to a file
-under consideration for backup, but there are no matches (generally because
-of wild cards that don't match), Bacula as a default will then backup the
-file.  This is quite logical if you consider the case of no Options, where
-you want everything to be backed up, and it is important to keep in
-mind when excluding as mentioned above.
+If for some reason, Bacula checks all the Options resources to a file under
+consideration for backup, but there are no matches (generally because of wild
+cards that don't match), Bacula as a default will then backup the file.  This
+is quite logical if you consider the case of no Options clause is specified,
+where you want everything to be backed up, and it is important to keep in mind
+when excluding as mentioned above.
 
-However, one additional point is that
-in the case that no match was found, Bacula will use the options found in
-the last Options resource.  As a consequence, if you want a particular set
-of "default" options, you should put them in an Options resource after
-any other Options.
+However, one additional point is that in the case that no match was found,
+Bacula will use the options found in the last Options resource.  As a
+consequence, if you want a particular set of "default" options, you should put
+them in an Options resource after any other Options.
 
 It is a good idea to put all your wild-card and regex expressions inside
 double quotes to prevent conf file scanning problems.
@@ -180,51 +193,60 @@ The directives within an Options resource may be one of the following:
 \begin{description}
 
 \item [compression=GZIP]
-\index[fd]{compression }
-   All files saved will be software compressed using the GNU ZIP compression
-   format. The  compression is done on a file by file basis by the File daemon. 
-   If there is a problem reading the tape in a  single record of a file, it will
-   at most affect that file and none  of the other files on the tape. Normally
-   this option is {\bf not} needed  if you have a modern tape drive as the drive
-   will do its own  compression. In fact, if you specify software compression at
-   the same time you have hardware compression turned on, your files  may
-   actually take more space on the volume.  
-
-   Software compression is very important if you are writing  your Volumes to a
-   file, and it can also be helpful if you have a fast computer but a slow
-   network, otherwise it is generally better to rely your tape drive's hardware
-   compression. As noted above, it is not generally a good idea to do both software 
-   and hardware compression.
-
-   Specifying {\bf GZIP} uses the default compression level six (i.e. {\bf GZIP}
-   is identical to {\bf GZIP6}). If you  want a different compression level (1
-   through 9), you can specify  it by appending the level number with no
-   intervening spaces  to {\bf GZIP}. Thus {\bf compression=GZIP1} would give
-   minimum  compression but the fastest algorithm, and {\bf compression=GZIP9} 
-   would give the highest level of compression, but requires more  computation.
-   According to the GZIP documentation, compression levels  greater than 6
-   generally give very little extra compression and are rather CPU intensive. 
+\index[dir]{compression}
+\index[dir]{Directive!compression}
+   All files saved will be software compressed using the GNU ZIP
+   compression format.  The compression is done on a file by file basis by
+   the File daemon.  If there is a problem reading the tape in a single
+   record of a file, it will at most affect that file and none of the other
+   files on the tape.  Normally this option is {\bf not} needed if you have
+   a modern tape drive as the drive will do its own compression.  In fact,
+   if you specify software compression at the same time you have hardware
+   compression turned on, your files may actually take more space on the
+   volume.
+
+   Software compression is very important if you are writing your Volumes
+   to a file, and it can also be helpful if you have a fast computer but a
+   slow network, otherwise it is generally better to rely your tape drive's
+   hardware compression.  As noted above, it is not generally a good idea
+   to do both software and hardware compression.
+
+   Specifying {\bf GZIP} uses the default compression level six (i.e.  {\bf
+   GZIP} is identical to {\bf GZIP6}).  If you want a different compression
+   level (1 through 9), you can specify it by appending the level number
+   with no intervening spaces to {\bf GZIP}.  Thus {\bf compression=GZIP1}
+   would give minimum compression but the fastest algorithm, and {\bf
+   compression=GZIP9} would give the highest level of compression, but
+   requires more computation.  According to the GZIP documentation,
+   compression levels greater than 6 generally give very little extra
+   compression and are rather CPU intensive.
 
 \item [signature=SHA1]
-\index[fd]{signature }
-   An SHA1 signature will be computed for all  The SHA1 algorithm is purported to
-   be some  what slower than the MD5 algorithm, but at the same time is 
-   significantly better from a cryptographic point of view (i.e.  much fewer
-   collisions, much lower probability of being hacked.)  It adds four more bytes
-   than the MD5 signature.  We strongly recommend that either this option  or MD5
-   be specified as a default for all files. Note, only  one of the two options
-   MD5 or SHA1 can be computed for any file. 
+\index[dir]{signature}
+\index[dir]{SHA1}
+\index[dir]{Directive!signature}
+   An SHA1 signature will be computed for all The SHA1 algorithm is
+   purported to be some what slower than the MD5 algorithm, but at the same
+   time is significantly better from a cryptographic point of view (i.e.
+   much fewer collisions, much lower probability of being hacked.) It adds
+   four more bytes than the MD5 signature.  We strongly recommend that
+   either this option or MD5 be specified as a default for all files.
+   Note, only one of the two options MD5 or SHA1 can be computed for any
+   file.
 
 \item [signature=MD5]
-   \index[fd]{signature }
-   An MD5 signature will be computed for all  files saved. Adding this option
-   generates about 5\% extra overhead  for each file saved. In addition to the
-   additional CPU time,  the MD5 signature adds 16 more bytes per file to your
-   catalog.  We strongly recommend that this option or the SHA1 option  be
-   specified as a default for all files. 
+\index[dir]{signature}
+\index[dir]{MD5}
+\index[dir]{Directive!signature}
+   An MD5 signature will be computed for all files saved.  Adding this
+   option generates about 5\% extra overhead for each file saved.  In
+   addition to the additional CPU time, the MD5 signature adds 16 more
+   bytes per file to your catalog.  We strongly recommend that this option
+   or the SHA1 option be specified as a default for all files.
 
 \item [verify=\lt{}options\gt{}]
-\index[fd]{verify }
+\index[dir]{verify}
+\index[dir]{Directive!verify}
    The options letters specified are used  when running a {\bf Verify
    Level=Catalog} as well as the  {\bf DiskToCatalog} level job. The options
    letters may be any  combination of the following:  
@@ -273,28 +295,38 @@ The directives within an Options resource may be one of the following:
    inodes, number  of links, size, and MD5 changes. 
 
 \item [onefs=yes|no]
-\index[fd]{onefs}
-   If set to {\bf yes} (the default), {\bf Bacula}  will remain on a single file
-   system. That is it will not backup  file systems that are mounted on a
-   subdirectory. If you are using a *nix system, you may not even be aware 
-   that there are several different filesystems as they are often
-   automatically mounted by the OS (e.g. /dev, /net, /sys, /proc, ...).
-   With Bacula 1.38.0 or later, it will inform you when it decides not
-   to traverse into another filesystem. This can be very useful if you
-   forgot to backup a particular partition.  An example of the
-   informational message in the job report is:
+\index[dir]{onefs}
+\index[dir]{Directive!onefs}
+   If set to {\bf yes} (the default), {\bf Bacula} will remain on a single
+   file system.  That is it will not backup file systems that are mounted
+   on a subdirectory.  If you are using a *nix system, you may not even be
+   aware that there are several different filesystems as they are often
+   automatically mounted by the OS (e.g.  /dev, /net, /sys, /proc, ...).
+   With Bacula 1.38.0 or later, it will inform you when it decides not to
+   traverse into another filesystem.  This can be very useful if you forgot
+   to backup a particular partition.  An example of the informational
+   message in the job report is:
+
+\footnotesize
+\begin{verbatim}
+rufus-fd: /misc is a different filesystem. Will not descend from / into /misc
+rufus-fd: /net is a different filesystem. Will not descend from / into /net
+rufus-fd: /var/lib/nfs/rpc_pipefs is a different filesystem. Will not descend from /var/lib/nfs into /var/lib/nfs/rpc_pipefs
+rufus-fd: /selinux is a different filesystem. Will not descend from / into /selinux
+rufus-fd: /sys is a different filesystem. Will not descend from / into /sys
+rufus-fd: /dev is a different filesystem. Will not descend from / into /dev
+rufus-fd: /home is a different filesystem. Will not descend from / into /home
+\end{verbatim}
+\normalsize
+
+   Note: in previous versions of Bacula, the above message was of the form: 
 
 \footnotesize
 \begin{verbatim}
-rufus-fd: Filesystem change prohibited. Will not descend into /misc
-rufus-fd: Filesystem change prohibited. Will not descend into /net
-rufus-fd: Filesystem change prohibited. Will not descend into /var/lib/nfs/rpc_pipefs
-rufus-fd: Filesystem change prohibited. Will not descend into /selinux
-rufus-fd: Filesystem change prohibited. Will not descend into /sys
-rufus-fd: Filesystem change prohibited. Will not descend into /dev
-rufus-fd: Filesystem change prohibited. Will not descend into /home
+Filesystem change prohibited. Will not descend into /misc
 \end{verbatim}
 \normalsize
+
    If you wish to backup multiple filesystems, you can  explicitly
    list each filesystem you want saved.  Otherwise, if you set the onefs option
    to {\bf no}, Bacula will backup  all mounted file systems (i.e. traverse mount
@@ -303,8 +335,8 @@ rufus-fd: Filesystem change prohibited. Will not descend into /home
    also be backed up. Normally, it is  preferable to set {\bf onefs=yes} and to
    explicitly name  each filesystem you want backed up. Explicitly naming  the
    filesystems you want backed up avoids the possibility  of getting into a
-   infinite loop recursing filesystems.  Another possiblity is to 
-   use {\bf onefs=no} and to set {\bs fstype=ext2, ...}.             
+   infinite loop recursing filesystems.  Another possibility is to 
+   use {\bf onefs=no} and to set {\bf fstype=ext2, ...}.             
    See the example below for more details. 
 
    If you think that Bacula should be backing up a particular directory
@@ -345,35 +377,62 @@ Change: 2005-11-06 12:36:48.000000000 +0100
 
    Also be aware that even if you include {\bf /home} in your list
    of files to backup, as you most likely should, you will get the
-   informational message about Filesystem change prohibited when Bacula is
-   processing the {\bf /} directory.
+   informational message that  "/home is a different filesystem" when 
+   Bacula is processing the {\bf /} directory.  This message does not
+   indicate an error. This message means that while examining the 
+   {\bf File =} referred to in the second part of the message, Bacula will 
+   not descend into the directory mentioned in the first part of the message.
+   However, it is possible that the separate filesystem will be backed up 
+   despite the message. For example, consider the following FileSet:
+
+\footnotesize
+\begin{verbatim}
+  File = /
+  File = /var
+\end{verbatim}
+\normalsize
+
+   where {\bf /var} is a separate filesystem.  In this example, you will get a
+   message saying that Bacula will not decend from {\bf /} into {\bf /var}.  But 
+   it is important to realise that Bacula will descend into {\bf /var} from the 
+   second File directive shown above.  In effect, the warning is bogus,
+   but it is supplied to alert you to possible omissions from your FileSet. In 
+   this example, {\bf /var} will be backed up.  If you changed the FileSet such 
+   that it did not specify {\bf /var}, then {\bf /var} will not be backed up.
+
+   
 
 
 \label{portable}
 \item [portable=yes|no]
-\index[dir]{portable }
-   If set to {\bf yes} (default is  {\bf no}), the Bacula File daemon will backup
-   Win32 files  in a portable format, but not all Win32 file attributes  will be
-   saved and restored. By default, this option is set to  {\bf no}, which means
-   that on Win32 systems, the data will  be backed up using Windows API calls and
-   on WinNT/2K/XP,  all the security and ownership attributes will be properly
-   backed up  (and restored). However this format is not portable to other 
-   systems -- e.g. Unix, Win95/98/Me. When backing up Unix systems, this  option
-   is ignored, and unless you have a specific need to  have portable backups, we
-   recommend accept the default  ({\bf no}) so that the maximum information
-   concerning  your files is saved. 
+\index[dir]{portable}
+\index[dir]{Directive!portable}
+   If set to {\bf yes} (default is {\bf no}), the Bacula File daemon will
+   backup Win32 files in a portable format, but not all Win32 file
+   attributes will be saved and restored.  By default, this option is set
+   to {\bf no}, which means that on Win32 systems, the data will be backed
+   up using Windows API calls and on WinNT/2K/XP, all the security and
+   ownership attributes will be properly backed up (and restored).  However
+   this format is not portable to other systems -- e.g.  Unix, Win95/98/Me.
+   When backing up Unix systems, this option is ignored, and unless you
+   have a specific need to have portable backups, we recommend accept the
+   default ({\bf no}) so that the maximum information concerning your files
+   is saved.
 
 \item [recurse=yes|no]
-\index[fd]{recurse }
-   If set to {\bf yes} (the default),  Bacula will recurse (or descend) into all
-   subdirectories  found unless the directory is explicitly excluded  using an
-   {\bf exclude} definition.  If you set {\bf recurse=no}, Bacula will save the 
-   subdirectory entries, but not descend into the  subdirectories, and thus will
-   not save the files or  directories contained in the subdirectories. Normally,
-   you  will want the default ({\bf yes}). 
+\index[dir]{recurse}
+\index[dir]{Directive!recurse}
+   If set to {\bf yes} (the default), Bacula will recurse (or descend) into
+   all subdirectories found unless the directory is explicitly excluded
+   using an {\bf exclude} definition.  If you set {\bf recurse=no}, Bacula
+   will save the subdirectory entries, but not descend into the
+   subdirectories, and thus will not save the files or directories
+   contained in the subdirectories.  Normally, you will want the default
+   ({\bf yes}).
 
 \item [sparse=yes|no]
-\index[dir]{sparse }
+\index[dir]{sparse}
+\index[dir]{Directive!sparse}
    Enable special code that checks for sparse files such as created by
    ndbm.  The default is {\bf no}, so no checks are made for sparse files.
    You may specify {\bf sparse=yes} even on files that are not sparse file.
@@ -410,7 +469,8 @@ Change: 2005-11-06 12:36:48.000000000 +0100
 
 \label{readfifo}
 \item [readfifo=yes|no]
-\index[fd]{readfifo }
+\index[dir]{readfifo}
+\index[dir]{Directive!readfifo}
    If enabled, tells the Client to read the data on a backup and write the
    data on a restore to any FIFO (pipe) that is explicitly mentioned in the
    FileSet.  In this case, you must have a program already running that
@@ -431,9 +491,29 @@ Change: 2005-11-06 12:36:48.000000000 +0100
    exec > /dev/null
 \end{verbatim}
 
+\item [noatime=yes|no]
+\index[dir]{noatime}
+\index[dir]{Directive!noatime}
+   If enabled, and if your Operating System supports the O_NOATIME file
+   open flag, Bacula will open all files to be backed up with this option.
+   It makes it possible to read a file without updating the inode atime
+   (and also without the inode ctime update which happens if you try to set
+   the atime back to its previous value).  It also prevents a race
+   condition when two programs are reading the same file, but only one does
+   not want to change the atime.  It's most useful for backup programs and
+   file integrity checkers (and bacula can fit on both categories).
+
+   This option is particularly useful for sites where users are sensitive
+   to their MailBox file access time.  It replaces both the {\bf keepatime}
+   option without the inconvienences of that option (see below).
+
+   If your Operating System does not support this option, it will be
+   silently ignored by Bacula.
+
 
 \item [mtimeonly=yes|no]
-\index[dir]{mtimeonly }
+\index[dir]{mtimeonly}
+\index[dir]{Directive!mtimeonly}
    If enabled, tells the Client that the selection of files during
    Incremental and Differential backups should based only on the st\_mtime
    value in the stat() packet.  The default is {\bf no} which means that
@@ -442,7 +522,8 @@ Change: 2005-11-06 12:36:48.000000000 +0100
    to use this option.
 
 \item [keepatime=yes|no]
-\index[dir]{keepatime }
+\index[dir]{keepatime}
+\index[dir]{Directive!keepatime}
    The default is {\bf no}.  When enabled, Bacula will reset the st\_atime
    (access time) field of files that it backs up to their value prior to
    the backup.  This option is not generally recommended as there are very
@@ -462,7 +543,8 @@ Change: 2005-11-06 12:36:48.000000000 +0100
 
 \item [hardlinks=yes|no]
 \index[dir]{hardlinks}
-   When enabled (default), this directive will cause hard inks to be 
+\index[dir]{Directive!hardlinks}
+   When enabled (default), this directive will cause hard links to be 
    backed up. However, the File daemon keeps track of hard linked files and
    will backup the data only once. The process of keeping track of the 
    hard links can be quite expensive if you have lots of them (tens of
@@ -475,7 +557,8 @@ Change: 2005-11-06 12:36:48.000000000 +0100
    system will not be restored identically to the original.
 
 \item [wild=\lt{}string\gt{}]
-\index[dir]{wild }
+\index[dir]{wild}
+\index[dir]{Directive!wild}
    Specifies a wild-card string to be applied to the filenames and
    directory names.  Note, if {\bf Exclude} is not enabled, the wild-card
    will select which files are to be included.  If {\bf Exclude=yes} is
@@ -483,23 +566,18 @@ Change: 2005-11-06 12:36:48.000000000 +0100
    Multiple wild-card directives may be specified, and they will be applied
    in turn until the first one that matches.  Note, if you exclude a
    directory, no files or directories below it will be matched.
-   It is recommended to enclose the string in double quotes.
 
-\item [wildfile=\lt{}string\gt{}]
-\index[dir]{wildfile }
-   Specifies a wild-card string to be applied to filenames only.  No
-   directories will be matched by this directive.  Note, if {\bf Exclude}
-   is not enabled, the wild-card will select which files are to be
-   included.  If {\bf Exclude=yes} is specified, the wild-card will select
-   which files are to be excluded.  Multiple wild-card directives may be
-   specified, and they will be applied in turn until the first one that
-   matches.
+   You may want to test your expressions prior to running your
+   backup by using the bwild program. Please see the
+   \ilink{UtilitiesChapter}{Utilities} chapter of this manual for
+   more. You can also test your full FileSet definition by using
+   the \ilink{estimate}{Estimate} command in the Console        
+   chapter of this manual.
    It is recommended to enclose the string in double quotes.
-   An example of excluding with the WildFile option on Win32 machines is    
-   presented below.
 
 \item [wilddir=\lt{}string\gt{}]
-\index[dir]{wilddir }
+\index[dir]{wilddir}
+\index[dir]{Directive!wilddir}
    Specifies a wild-card string to be applied to directory names only.  No
    filenames will be matched by this directive.  Note, if {\bf Exclude} is
    not enabled, the wild-card will select directories files are to be
@@ -508,37 +586,96 @@ Change: 2005-11-06 12:36:48.000000000 +0100
    specified, and they will be applied in turn until the first one that
    matches.  Note, if you exclude a directory, no files or directories
    below it will be matched.
+
    It is recommended to enclose the string in double quotes.
+
+   You may want to test your expressions prior to running your
+   backup by using the bwild program. Please see the
+   \ilink{UtilitiesChapter}{Utilities} chapter of this manual for
+   more. You can also test your full FileSet definition by using
+   the \ilink{estimate}{Estimate} command in the Console        
+   chapter of this manual.
    An example of excluding with the WildDir option on Win32 machines is    
    presented below.
 
+\item [wildfile=\lt{}string\gt{}]
+\index[dir]{wildfile}
+\index[dir]{Directive!wildfile}
+   Specifies a wild-card string to be applied to non-directories. That
+   is no directory entries will be matched by this directive.
+   However, note that the match is done against the full path and filename,
+   so your wild-card string must take into account that filenames
+   are preceded by the full path.
+   If {\bf Exclude}
+   is not enabled, the wild-card will select which files are to be
+   included.  If {\bf Exclude=yes} is specified, the wild-card will select
+   which files are to be excluded.  Multiple wild-card directives may be
+   specified, and they will be applied in turn until the first one that
+   matches.
+
+   It is recommended to enclose the string in double quotes.
+
+   You may want to test your expressions prior to running your
+   backup by using the bwild program. Please see the
+   \ilink{UtilitiesChapter}{Utilities} chapter of this manual for
+   more. You can also test your full FileSet definition by using
+   the \ilink{estimate}{Estimate} command in the Console        
+   chapter of this manual.
+   An example of excluding with the WildFile option on Win32 machines is    
+   presented below.
+
 
 \item [regex=\lt{}string\gt{}]
-\index[dir]{regex }
+\index[dir]{regex}
+\index[dir]{Directive!regex}
    Specifies a POSIX extended regular expression to be applied to the
-   filenames and directory names. 
-   This directive is available in version 1.35 and later.  If {\bf
+   filenames and directory names, which include the full path.  If {\bf
    Exclude} is not enabled, the regex will select which files are to be
    included.  If {\bf Exclude=yes} is specified, the regex will select
    which files are to be excluded.  Multiple regex directives may be
    specified within an Options resource, and they will be applied in turn
-   until the first one that matches. Note, if you exclude a
-   directory, no files or directories below it will be matched.
+   until the first one that matches.  Note, if you exclude a directory, no
+   files or directories below it will be matched.
+
    It is recommended to enclose the string in double quotes.
 
+   The regex libraries differ from one operating system to
+   another, and in addition, regular expressions are complicated,
+   so you may want to test your expressions prior to running your
+   backup by using the bregex program. Please see the
+   \ilink{UtilitiesChapter}{Utilities} chapter of this manual for
+   more. You can also test your full FileSet definition by using
+   the \ilink{estimate}{Estimate} command in the Console        
+   chapter of this manual.
+
+
 \item [regexfile=\lt{}string\gt{}]
-\index[dir]{regexfile }
-   Specifies a POSIX extended regular expression to be applied to filenames
-   only.  No directories will be matched by this directive.  Note, if {\bf
-   Exclude} is not enabled, the regex will select which files are to be
-   included.  If {\bf Exclude=yes} is specified, the regex will select
-   which files are to be excluded.  Multiple regex directives may be
+\index[dir]{regexfile}
+\index[dir]{Directive!regexfile}
+   Specifies a POSIX extended regular expression to be applied to
+   non-directories. No directories will be matched by this directive.  
+   However, note that the match is done against the full path and
+   filename, so your regex string must take into account that filenames
+   are preceded by the full path.
+   If {\bf Exclude} is not enabled, the regex will select which files are
+   to be included.  If {\bf Exclude=yes} is specified, the regex will
+   select which files are to be excluded.  Multiple regex directives may be
    specified, and they will be applied in turn until the first one that
    matches.
+
    It is recommended to enclose the string in double quotes.
 
+   The regex libraries differ from one operating system to
+   another, and in addition, regular expressions are complicated,
+   so you may want to test your expressions prior to running your
+   backup by using the bregex program. Please see the
+   \ilink{UtilitiesChapter}{Utilities} chapter of this manual for
+   more.
+
+
 \item [regexdir=\lt{}string\gt{}]
-\index[dir]{regexdir }
+\index[dir]{regexdir}
+\index[dir]{Directive!regexdir}
    Specifies a POSIX extended regular expression to be applied to directory
    names only.  No filenames will be matched by this directive.  Note, if
    {\bf Exclude} is not enabled, the regex will select directories
@@ -547,17 +684,28 @@ Change: 2005-11-06 12:36:48.000000000 +0100
    regex directives may be specified, and they will be applied in turn
    until the first one that matches.  Note, if you exclude a directory, no
    files or directories below it will be matched.
+
    It is recommended to enclose the string in double quotes.
 
+   The regex libraries differ from one operating system to
+   another, and in addition, regular expressions are complicated,
+   so you may want to test your expressions prior to running your
+   backup by using the bregex program. Please see the
+   \ilink{UtilitiesChapter}{Utilities} chapter of this manual for
+   more.
+
+
 \item [exclude=yes|no]
-\index[dir]{exclude }
-   The default is {\bf no}. When  enabled, any files matched within the Options
-   will be  excluded from the backup. 
+\index[dir]{exclude}
+\index[dir]{Directive!exclude}
+   The default is {\bf no}.  When enabled, any files matched within the
+   Options will be excluded from the backup.
 
 \label{ACLSupport}
 
 \item [aclsupport=yes|no]
-\index[dir]{aclsupport }
+\index[dir]{aclsupport}
+\index[dir]{Directive!aclsupport}
    The default is {\bf no}.  If this option is set to yes, and you have the
    POSIX {\bf libacl} installed on your system, Bacula will backup the file
    and directory UNIX Access Control Lists (ACL) as defined in IEEE Std
@@ -572,14 +720,16 @@ Change: 2005-11-06 12:36:48.000000000 +0100
    (perhaps reiserfs) that does not have ACLs, the ACLs will be ignored.
 
 \item [ignore case=yes|no]
-\index[dir]{ignore case }
-   The default is {\bf no}, except on Windows systems where the default
-   is {\bf yes}. When this directive is set to {\bf yes} all the case
-   of character will be ignored in wild-card and regex comparisons.
-   That is an uppercase A will match a lowercase a.
+\index[dir]{ignore case}
+\index[dir]{Directive!ignore case}
+   The default is {\bf no}.  On Windows systems, you will almost surely
+   want to set this to {\bf yes}.  When this directive is set to {\bf yes}
+   all the case of character will be ignored in wild-card and regex
+   comparisons.  That is an uppercase A will match a lowercase a.
 
 \item [fstype=filesystem-type]
-\index[dir]{fstype }
+\index[dir]{fstype}
+\index[dir]{Directive!fstype}
    This option allows you to select files and directories by the
    filesystem type.  The permitted filesystem-type names are:
 
@@ -598,7 +748,8 @@ Change: 2005-11-06 12:36:48.000000000 +0100
 
 
 \item [hfsplussupport=yes|no]
-\index[dir]{hfsplussupport }
+\index[dir]{hfsplussupport}
+\index[dir]{Directive!hfsplussupport}
    This option allows you to turn on support for Mac OSX HFS plus 
    finder information.
 
@@ -606,7 +757,8 @@ Change: 2005-11-06 12:36:48.000000000 +0100
 
 {\bf \lt{}file-list\gt{}} is a list of directory and/or filename names
 specified with a {\bf File =} directive. To include names containing spaces,
-enclose the name between double-quotes. 
+enclose the name between double-quotes. Wild-cards are not interpreted
+in file-lists. They can only be specified in Options resources.
 
 There are a number of special cases when specifying directories and files in a
 {\bf file-list}. They are: 
@@ -839,6 +991,10 @@ Include {
    you must ensure that there is a reader program or Bacula will block, and
    after one minute, Bacula will time out the write to the fifo and move on
    to the next file.
+
+\item A file-list may not contain wild-cards. Use directives in the
+   Options resource if you wish to specify wild-cards or regular expression
+   matching.
 \end{itemize}
 
 \subsubsection*{FileSet Examples}
@@ -967,8 +1123,8 @@ FileSet {
     Options {
        wilddir = /proc
        wilddir = /tmp
-       wildfile = ".journal"
-       wildfile = ".autofsck"
+       wildfile = "/.journal"
+       wildfile = "/.autofsck"
        exclude = yes
     }
     File = /
@@ -1013,7 +1169,7 @@ that are not matched by the Options directives will automatically
 be backed up too (i.e. that is the default rule).
 
 To accomplish what we want, we must explicitly exclude all other files.
-We do this with the fillowing:
+We do this with the following:
 
 \footnotesize
 \begin{verbatim}
@@ -1026,7 +1182,7 @@ FileSet {
      }
      Options {
         Exclude = yes
-        RegexFile = "^.?*$"
+        RegexFile = ".*"
      }
      File = /myfile
   }
@@ -1093,7 +1249,7 @@ FileSet {
 The problem is that the above will include everything in /home.  To get
 things to work correctly, you need to start with the idea of exclusion
 instead of inclusion.  So, you could simply exclude all directories
-except the two you want using:
+except the two you want to use:
 \footnotesize
 \begin{verbatim}
 FileSet {
@@ -1124,7 +1280,7 @@ FileSet {
         wilddir = "/home/b*"
      }
      Options {
-        RegexDir = "^.?*$"
+        RegexDir = ".*"
         exclude = yes
      }
      File = /home
@@ -1133,10 +1289,6 @@ FileSet {
 \end{verbatim}
 \normalsize
 
-I haven't actually tried the above two examples, so you may need to
-tweak them to get them to work right.
-
-
 \subsubsection*{Backing up Raw Partitions}
 \index[general]{Backing up!Partitions }
 \index[general]{Backing up Raw Partitions }
@@ -1198,7 +1350,6 @@ FileSet {
 \normalsize
 
 \label{win32}
-
 \subsubsection*{Windows FileSets}
 \index[general]{Windows FileSets }
 \index[general]{FileSets!Windows }
@@ -1231,14 +1382,14 @@ rules:
 
 \begin{itemize}
 \item Filenames are case sensitive, so you must use the correct case.  
-\item To exclude a directory, you must not have a trailing slash on the 
+\item To 2~exclude a directory, you must not have a trailing slash on the 
    directory name.  
-\item If you have spaces in your filename, you must enclose the entire name 
+\item I2~f you have spaces in your filename, you must enclose the entire name 
    in double-quote characters ("). Trying to use a backslash before  the space
    will not work.  
-\item If you are using the old Exclude syntax (noted below), you may  not
-   specify a drive letter in the exclude. The new syntax noted  above should work
-   fine including driver letters. 
+\item If you are using the old Exclude syntax (noted below), you may not
+   specify a drive letter in the exclude.  The new syntax noted above
+   should work fine including driver letters.
 \end{itemize}
 
 Thanks to Thiago Lima for summarizing the above items for us. If you are
@@ -1381,4 +1532,31 @@ If you wish to get an idea of what your FileSet will really backup or if your
 exclusion rules will work correctly, you can test it by using the {\bf
 estimate} command in the Console program. See the 
 \ilink{estimate command}{estimate} in the Console chapter of this
-manual. 
+manual.
+
+As an example, suppose you add the following test FileSet:
+
+\footnotesize
+\begin{verbatim}
+FileSet {
+  Name = Test
+  Include {
+    File = /home/xxx/test
+    Options {
+       regex = ".*\.c$"
+    }
+  }
+}
+\end{verbatim}
+\normalsize
+
+You could then add some test files to the directory {\bf /home/xxx/test}
+and use the following command in the console:
+
+\footnotesize
+\begin{verbatim}
+estimate job=<any-job-name> listing client=<desired-client> fileset=Test
+\end{verbatim}
+\normalsize
+
+to give you a listing of all files that match.