#include "bacula_template.inc" title="Director Configuration" num=6.1

<h1><a name="FileSetResource">The Old FileSet Resource</a></h1>
Note, this form of the FileSet resource still works but has been
replaced by a new more flexible form in Bacula version 1.34.3.
As a consequence, you are encouraged to convert to the new form
as this one is deprecated and will be removed in a future version.
<p>
The FileSet resource defines what files are to be included in a backup
job. At least one <b>FileSet</b> resource is required.
It consists of a list of files or directories to be included, a
list of files or directories to be excluded and the various backup
options such as compression, encryption, and signatures that are to be
applied to each file.
<p>Any change to the list of the included files will cause Bacula
to automatically create a new FileSet (defined by the name and an
MD5 checksum of the Include contents). Each time a new FileSet is
created, Bacula will ensure that the first backup is always a 
Full save.

<dl>
<dt>FileSet</dt><dd>Start of the FileSet records. At least one <b>FileSet</b>
    resource must be defined.</dd>
<dt>Name = &lt;name&gt;</dt><dd>The name of the FileSet resource.
    This record is required. </dd>
<dt>Include = &lt;processing-options&gt; <br>&nbsp;&nbsp; { &lt;file-list&gt; } <br></dt><dd></dd>
<p> 
The Include resource specifies the list of files and/or directories to
be included in the backup job.  There can be any number of <b>Include</b>
<b>file-list</b> specifications within the FileSet, each having its own
set of <b>processing-options</b>.  Normally, the <b>file-list</b>
consists of one file or directory name per line.  Directory names should
be specified without a trailing slash.  Wild-card (or glob matching)
does not work when used in an Include list. It does work in an
Exclude list though. Just the same, any asterisk (*), question mark (?),
or left-bracket ([) must be preceded by a slash (\\) if you want it
to represent the literal character. 
<p>You should <b>always</b> specify
a full path for every directory and file that you list in the FileSet.
In addition, on Windows machines, you should <b>always</b> prefix the
directory or filename with the drive specification (e.g.  <b>c:/xxx</b>)
using Unix directory name separators (forward slash).  However,
within an <b>Exclude</b> where for some reason the exclude
will not work with a prefixed drive letter. If you want to 
specify a drive letter in exclusions on Win32 systems, you can do
so by specifying:   
<pre>
  Exclude = { /cygdrive/d/archive/Mulberry }
</pre>
where in this case, the <b>/cygdrive/d</b> &nsbp; is Cygwin's way of 
referring to drives on Win32 (thanks to Mathieu Arnold for this
tip).
<p>
Bacula's default for processing directories is to recursively descend
in the directory saving all files and subdirectories. Bacula will not
by default cross file systems (or mount points in Unix parlance). This
means that if you specify the root partition (e.g. <b>/</b>), Bacula will
save only the root partition and not any of the other mounted 
file systems. Similarly on Windows systems, you must explicitly 
specify each of the drives you want saved (e.g. <b>c:/</b>  and <b>d:/</b> ...).
In addition, at least for Windows systems, you will most likely want
to enclose each specification within double quotes.
The <b>df</b> command on Unix systems will show you which 
mount points you must specify to save everything. See below for
an example. 
<p>
Take special care not to include a directory twice or Bacula
will backup the same files two times wasting a lot of space on
your archive device. Including a directory twice is very easy
to do. For example:
<pre>
  Include = { / /usr }
</pre>
on a Unix system where /usr is a subdirectory (rather than a
mounted filesystem) will cause /usr to be backed up twice. In this
case, on Bacula versions prior to 1.32f-5-09Mar04 due to a bug, you will not 
be able to restore hard linked files that were backed up twice.
<p>
The <b>&lt;processing-options&gt;</b> is
optional.  If specified, it is a list of <b>keyword=value</b>
options to be applied to the file-list.  Multiple options may be
specified by separating them with spaces. 
These options are used to
modify the default processing behavior of the files included.  Since
there can be multiple <b>Include</b> sets, this permits effectively
specifying the desired options (compression, encryption, ...) on a
file by file basis. The options may be one of the following:
<dl>
<dt>compression=GZIP</dt><dd>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 <b>not</b> needed
    if you have a modern tape drive as the drive will do its own
    compression. However, 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.
    <p>
    Specifying <b>GZIP</b> uses the default compression level six  
    (i.e. <b>GZIP</b> is identical to <b>GZIP6</b>). If you
    want a different compression level (1 through 9), you can specify
    it by appending the level number with no intervening spaces
    to <b>GZIP</b>. Thus <b>compression=GZIP1</b> would give  minimum
    compression but the fastest algorithm, and <b>compression=GZIP9</b>
    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 but are
    rather CPU intensive.


<dt>signature=MD5</dt><dd>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
      be specified as a default for all files.</dd>

<dt>signature=SHA1</dt><dd>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. </dd>

<dt>*encryption=&lt;algorithm&gt;</dt><dd>All files saved will be
    encrypted using one of the following algorithms (NOT YET IMPLEMENTED):
        <dl>
           <dt>*AES</dt>
        </dl> 

<dt>verify=&lt;options&gt;</dt><dd>The options letters specified are used
   when running a <b>Verify Level=Catalog</b> job, and may be any
   combination of the following:
   <dl>
           <dt>i</dt><dd>compare the inodes</dd>
           <dt>p</dt><dd>compare the permission bits</dd>
           <dt>n</dt><dd>compare the number of links</dd>
           <dt>u</dt><dd>compare the user id</dd>
           <dt>g</dt><dd>compare the group id</dd>
           <dt>s</dt><dd>compare the size</dd>
           <dt>a</dt><dd>compare the access time</dd>
           <dt>m</dt><dd>compare the modification time (st_mtime)</dd>
           <dt>c</dt><dd>compare the change time (st_ctime)</dd>
           <dt>s</dt><dd>report file size decreases</dd>
           <dt>5</dt><dd>compare the MD5 signature</dd>
           <dt>1</dt><dd>compare the SHA1 signature</dd>
   </dl> 
   <p>
   <dd>A useful set of general options on the <b>Level=Catalog</b>
       verify is <b>pins5</b> i.e. compare permission bits, inodes, number
       of links, size, and MD5 changes.</dd>


<dt>onefs=yes/no</dt><dd>If set to <b>yes</b> (the default), <b>Bacula</b>
    will remain on a single file system. That is it will not backup
    file systems that are mounted on a subdirectory.
    In this case, you must explicitly list each file system you want saved.
    If you set this option to <b>no</b>, Bacula will backup
    all mounted file systems (i.e. traverse mount points) that
    are found within the <b>FileSet</b>. Thus if
    you have NFS or Samba file systems mounted on a directory included
    in your FileSet, they will also be backed up. Normally, it is
    preferable to set <b>onefs=yes</b> and to explicitly name
    each file system you want backed up.
    See the example below for more details. </dd>

<a name="portable"></a>
<dt>portable=yes/no</dt><dd>If set to <b>yes</b> (default is
    <b>no</b>), the Bacula File daemon will backup Win32 files
    in a portable format.  By default, this option is set to 
    <b>no</b>, which means that on Win32 systems, the data will
    be backed up using Windows API calls and on WinNT/2K/XP,
    the security and ownership data will be properly backed up
    (and restored), but the data format is not portable to other
    systems -- e.g. Unix, Win95/98/Me.  On Unix systems, this
    option is ignored, and unless you have a specific need to
    have portable backups, we recommend accept the default
    (<b>no</b>) so that the maximum information concerning
    your files is backed up.  </dd>

<dt>recurse=yes/no</dt><dd>If set to <b>yes</b> (the default),
    Bacula will recurse (or descend) into all subdirectories
    found unless the directory is explicitly excluded
    using an <b>exclude</b> definition. 
    If you set
    <b>recurse=no</b>, Bacula will save the subdirectory entries,
    but not descend into the subdirectories, and thus 
    will not save the contents of the subdirectories. Normally, you
    will want the default (<b>yes</b>).
    </dd>

<dt>sparse=yes/no</dt><dd>Enable special code that checks for sparse files
    such as created by ndbm. The default is <b>no</b>, so no checks
    are made for sparse files. You may specify <b>sparse=yes</b> even
    on files that are not sparse file. No harm will be done, but there
    will be a small additional overhead to check for buffers of
    all zero, and a small additional amount of space on the output
    archive will be used to save the seek address of each non-zero
    record read. 
    <p><b>Restrictions:</b> Bacula reads files in 32K buffers. 
    If the whole buffer is zero, it will be treated as a sparse
    block and not written to tape.  However, if any part of the buffer
    is non-zero, the whole buffer will be written to tape, possibly
    including some disk sectors (generally 4098 bytes) that are all
    zero. As a consequence, Bacula's detection of sparse blocks is in
    32K increments rather than the system block size. If anyone      
    considers this to be a real problem, please send in a request
    for change with the reason. The sparse code was first 
    implemented in version 1.27.
    <p>If you are not familiar with sparse files, an example is
    say a file where you wrote 512 bytes at address zero, then
    512 bytes at address 1 million. The operating system will
    allocate only two blocks, and the empty space or hole
    will have nothing allocated. However, when you read the
    sparse file and read the addresses where nothing was written,
    the OS will return all zeros as if the space were allocated,
    and if you backup such a file, a lot of space will be used
    to write zeros to the volume. Worse yet, when you restore
    the file, all the previously empty space will now be allocated
    using much more disk space. By turning on the <b>sparse</b>
    option, Bacula will specifically look for empty space in
    the file, and any empty space will not be written to the Volume,
    nor will it be restored. The price to pay for this is that
    Bacula must search each block it reads before writing it.
    On a slow system, this may be important. If you suspect
    you have sparse files, you should benchmark the difference 
    or set sparse for only those files that are really sparse. </dd>

<a name="readfifo"></a>
<dt>readfifo=yes/no</dt><dd>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 writes into the FIFO for a backup or reads
    from the FIFO on a restore. This can be accomplished with
    the <b>RunBeforeJob</b> record. If this is not the case,
    Bacula will hang indefinitely on reading/writing the FIFO.
    When this is not enabled (default), the Client simply
    saves the directory entry for the FIFO. </dd> 

<dt>mtimeonly=yes/no</dt><dd>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 <b>no</b> which means that the
    selection of files to be backed up will be based on both the
    st_mtime and the st_ctime values.  In general, it is not
    recommended to use this option. </dd>

<dt>keepatime=yes/no</dt><dd>The default is <b>no</b>. 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 few programs that use st_atime, and the backup
    overhead is increased because of the additional system
    call necessary to reset the times. (I'm not sure this
    works on Win32).</dd>

    
<!-- ----------- begin comment ------------------
<dt>*noexec=yes/no</dt><dd>All executable files will be automatically
    excluded from being saved. The default is <b>no</b> i.e. all files
    including executable files are saved. (NOT YET IMPELEMENTED)</dd>

<dt>*nofollow=yes/no</dt><dd>Any symbolic link found will be saved, but
    the link will not be followed (default).  This is normally exactly what
    is desired because the file pointed to by the link will be
    also normally included in the save the same way the link was
    included. In some special cases, one might want to save just
    the contents of a directory and also include the contents
    of all links in that directory. This is possible by specifying
    <b>nofollow=no</b> (NOT YET IMPLEMENTED).</dd>

<dt>*nonfs=yes/no</dt><dd>Any file that resides on an NFS file system
    will not be saved. The default is <b>no</b> so that any
    NFS file system specified in the <b>include</b> list will be
    backed up. (NOT YET IMPLEMENTED)</dd>

 --------------- end comment ---------- -->

</dl>
<p>
<b>&lt;file-list&gt;</b> is a space separated list of filenames
and/or directory names.  To include names containing spaces, enclose the
name between double-quotes.  The list may span multiple lines, in fact,
normally it is good practice to specify each filename on a separate
line.  
<p>There are a number of special cases when specifying files or
directories in a <b>file-list</b>. They are:
<ul>
  <li>Any file-list item preceded by an at-sign (@) is assumed to be a
      filename containing a list of files, which is read when
      the configuration file is parsed during Director startup.
      Note, that the file is read on the Director's machine
      and not on the Client.
      </li>     
  <li>Any file-list item beginning with a vertical bar (|) is 
      assumed to be a program. This program will be executed 
      on the Director's machine at the time the Job starts (not
      when the Director reads the configuration file), and any output
      from that program will be assumed to be a list of files or
      directories, one per line, to be included.  This allows you to
      have a job that for example includes all the local partitions even
      if you change the partitioning by adding a disk. In general, you will
      need to prefix your command or commands with a <b>sh -c</b> so that
      they are invoked by a shell. This will not be the case if you are
      invoking a script as in the second example below. Also, you must
      take care to escape wild-cards and ensure that any spaces in your
      command are escaped as well. If you use a single quotes (') within
      a double quote (&quot;), Bacula will treat everything between
      the single quotes as one field so it will not be necessary to
      escape the spaces. In general, getting all the quotes and escapes
      correct is a real pain as you can see by the next example. As a 
      consequence, it is often easier to put everything in a file, and simply
      us the file name within Bacula. In that case the <b>sh -c</b> will 
      not be necessary providing the first line of the file is
      <b>#!/bin/sh</b>.
      <p>As an example:
<pre> 
Include = signature=SHA1 {
   &quot;|sh -c 'df -l | grep \&quot;^/dev/hd[ab]\&quot; | grep -v \&quot;.*/tmp\" \\
      | awk \&quot;{print \\$6}\&quot;'&quot;
}
</pre>
      will produce a list of all the local partitions on a RedHat Linux
      system.  Note, the above line was split, but should normally
      be written on one line.
      Quoting is a real problem because you must quote for Bacula
      which consists of preceding every \ and every &quot; with a \, and
      you must also quote for the shell command.  In the end, it is probably
      easier just to execute a small file with:
<pre>
Include = signature=MD5 {
   "|my_partitions"
}
</pre>
      where my_partitions has:
<pre>
\#!/bin/sh
df -l | grep &quot;^/dev/hd[ab]&quot; | grep -v &quot;.*/tmp" \\
      | awk &quot;{print \$6}&quot;
</pre>
      <p>If the vertical bar (|) is preceded by a backslash as in \|,
      the program will be executed on the Client's machine instead
      of on the Director's machine -- (this is implemented but
      not tested, and very likely will not work on Windows). </li>

   <li>Any file-list item preceded by a less-than sign (&lt;) will be taken
       to be a file.  This file will be read on the Director's machine
       at the time the Job starts, and the data will be assumed to be a
       list of directories or files, one per line, to be included.  This
       feature allows you to modify the external file and change what
       will be saved without stopping and restarting Bacula as would be
       necessary if using the @ modifier noted above.
       <p>If you precede the less-than sign (&lt;) with a backslash
       as in \&lt;, the file-list will be read on the Client machine
       instead of on the Director's machine (implemented but not
       tested).</li>

   <li>If you explicitly specify a block device such as <b>/dev/hda1</b>,
       then Bacula (starting with version 1.28) will assume that this
       is a raw partition to be backed up. In this case, you are strongly
       urged to specify a <b>sparse=yes</b> include option, otherwise, you
       will save the whole partition rather than just the actual data that
       the partition contains. For example:
<pre>
Include = signature=MD5 sparse=yes {
   /dev/hd6
}
</pre>
       will backup the data in device /dev/hd6.
       <p>Ludovic Strappazon has pointed out that this feature can be
       used to backup a full Microsoft Windows disk. Simply boot into
       the system using a Linux Rescue disk, then load a statically
       linked Bacula as described in the <a href="rescue.html">
       Disaster Recovery Using Bacula</a> chapter of this manual. Then
       simply save the whole disk partition. In the case of a disaster, you
       can then restore the desired partition. </li>

   <li>If you explicitly specify a FIFO device name (created with mkfifo),
       and you add the option <b>readfifo=yes</b> as an option, Bacula
       will read the FIFO and back its data up to the Volume. For
       example:
<pre>
Include = signature=SHA1 readfifo=yes {
   /home/abc/fifo
}
</pre>
       if <b>/home/abc/fifo</b> is a fifo device, Bacula will open the
       fifo, read it, and store all data thus obtained on the Volume.
       Please note, you must have a process on the system that is 
       writing into the fifo, or Bacula will hang, and after one 
       minute of waiting, it will go on to the next file. The data
       read can be anything since Bacula treats it as a stream.
       <p>
       This feature can be an excellent way to do a &quot;hot&quot;
       backup of a very large database. You can use the <b>RunBeforeJob</b>
       to create the fifo and to start a program that dynamically reads
       your database and writes it to the fifo. Bacula will then write
       it to the Volume. 
       <p> During the restore operation, the inverse is
       true, after Bacula creates the fifo if there was any data stored
       with it (no need to explicitly list it or add any options), that
       data will be written back to the fifo. As a consequence, if
       any such FIFOs exist in the fileset to be restored, 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. </li>
</ul>
       

<p>The Exclude Files specifies the list of files and/or directories to
be excluded from the backup job.  The <b>&lt;file-list&gt;</b> is a
comma or space separated list of filenames and/or directory names.  To exclude
names containing spaces, enclose the name between double-quotes.
Most often each filename is on a separate line.
<p>For exclusions on Windows systems, do not include a leading
drive letter such as <b>c:</b>. This does not work.
Any filename preceded by an at-sign (@)
is assumed to be a filename on the Director's machine
containing a list of files.
</dl>

The following is an example of a valid FileSet resource definition:
<pre>
FileSet {
  Name = "Full Set"
  Include = compression=GZIP signature=SHA1 sparse=yes { 
     @/etc/backup.list
  }
  Include = {
     /root/myfile
     /usr/lib/another_file
  }
  Exclude = { *.o }
}
</pre>
Note, in the above example, all the files contained in /etc/backup.list
will be compressed with GZIP compression, an SHA1 signature will be
computed on the file's contents (its data), and sparse file handling
will apply.
<p>
The two files /root/myfile and
/usr/lib/another_file will also be saved but without any options.
In addition, all files with the extension <b>.o</b> will be excluded
from the file set (i.e. from the backup).
<p>
Suppose you want to save everything except <b>/tmp</b> on your system.
Doing a <b>df</b> command, you get the following output:
<pre>
[kern@rufus k]$ df
Filesystem      1k-blocks      Used Available Use% Mounted on
/dev/hda5         5044156    439232   4348692  10% /
/dev/hda1           62193      4935     54047   9% /boot
/dev/hda9        20161172   5524660  13612372  29% /home
/dev/hda2           62217      6843     52161  12% /rescue
/dev/hda8         5044156     42548   4745376   1% /tmp
/dev/hda6         5044156   2613132   2174792  55% /usr
none               127708         0    127708   0% /dev/shm
//minimatou/c$   14099200   9895424   4203776  71% /mnt/mmatou
lmatou:/          1554264    215884   1258056  15% /mnt/matou
lmatou:/home      2478140   1589952    760072  68% /mnt/matou/home
lmatou:/usr       1981000   1199960    678628  64% /mnt/matou/usr
lpmatou:/          995116    484112    459596  52% /mnt/pmatou
lpmatou:/home    19222656   2787880  15458228  16% /mnt/pmatou/home
lpmatou:/usr      2478140   2038764    311260  87% /mnt/pmatou/usr
deuter:/          4806936     97684   4465064   3% /mnt/deuter
deuter:/home      4806904    280100   4282620   7% /mnt/deuter/home
deuter:/files    44133352  27652876  14238608  67% /mnt/deuter/files
</pre>
Now, if you specify only <b>/</b> in your Include list, Bacula will
only save the Filesystem <b>/dev/hda5</b>. To save all file 
systems except <b>/tmp</b> with out including any of the Samba or NFS
mounted systems, and explicitly excluding a /tmp, /proc, .journal, and
.autofsck, which you will not want to be saved and restored,
you can use the following:
<pre>
FileSet {
  Name = Everything
  Include = {
     /
     /boot
     /home
     /rescue
     /usr
  }
  Exclude = {
     /proc
     /tmp
     .journal
     .autofsck
  }
}
</pre>
<p>Since /tmp is on its own filesystem and it was not explicitly
named in the Include list, it is not really needed in the
exclude list. It is better to list it in the Exclude list for
clarity, and in case the disks are changed so that it is no longer
in its own partition.
<p>
Please be aware that allowing Bacula to traverse or change
file systems can be <b>very</b> dangerous. For example, with
the following:
<pre>
FileSet {
  Name = "Bad example"
  Include = onefs=no {
     /mnt/matou
  }
}
</pre>
you will be backing up an NFS mounted partition (<b>/mnt/matou</b>),
and since <b>onefs</b> is set to <b>no</b>, Bacula will
traverse file systems. However, if <b>/mnt/matou</b> has the
current machine's file systems mounted, as is often the case,
you will get yourself into a recursive loop and the backup will
never end.
<p>The following FileSet definition will backup a raw partition:
<pre>
FileSet {
  Name = "RawPartition"
  Include = sparse=yes {
     /dev/hda2
  }
}
</pre>
Note, in backing up and restoring a raw partition, you should ensure
that no other process including the system is writing to that partition.
As a precaution, you are strongly urged to ensure that the raw partition
is not mounted or is mounted read-only. If necessary, this can be done using the 
<b>RunBeforeJob</b> record.
<h3>Additional Considerations for Using Excludes on Windows</h3>
For exclude lists to work correctly on Windows, you must observe 
the following rules:
<ul>
  <li>Filenames are case sensitive, so you must use the correct case.</li>
  <li>To exclude a directory, you must not have a trailing slash on the
    directory name.</li>
  <li>If you have spaces in your filename, you must enclose the entire name
      in double-quote characters (&quot;). Trying to use a backslash before
      the space will not work.</li>
   <li>You must not precede the excluded file or directory with a drive 
      letter (such as <b>c:</b>) otherwise it will not work.
</ul>
Thanks to Thiago Lima for summarizing the above items for us.  If
you are having difficulties getting includes or excludes to work, you might
want to try using the <b>estimate job=xxx listing</b> command documented
in the <a href="console.html#estimate">Console chapter</a> of this manual.


<a name="win32"></a>
<h2>Windows Considerations for FileSets</h2>
If you are entering Windows file names, the directory path may be
preceded by the drive and a colon (as in c:). However, the path
separators must be specified in Unix convention (i.e. forward 
slash (/)). If you wish to include a quote in a file name, precede
the quote with a backslash (\\).  For example you might
use the following for a Windows machine to backup the &quot;My Documents&quot;
directory:
<pre>
FileSet {
  Name = "Windows Set"
  Include = {
     "c:/My Documents"
  }
  Exclude = { *.obj *.exe }
}
</pre>
When using exclusion on Windows, do not use a drive prefix (i.e. <b>c:</b>) as
it will prevent the exclusion from working. However, if you need to
specify a drive letter in exclusions on Win32 systems, you can do
so by specifying:   
<pre>
  Exclude = { /cygdrive/d/archive/Mulberry }
</pre>
where in this case, the <b>/cygdrive/d</b> is Cygwin's way of 
referring to drive <b>d:</b> (thanks to Mathieu Arnold for this
tip).

<h2>A Windows Example FileSet</h2>
The following example was contributed by Phil Stracchino:
<pre>

This is my Windows 2000 fileset:

FileSet {
  Name = &quot;Windows 2000 Full Set&quot;
  Include = signature=MD5 { 
    c:/
  }
\# Most of these files are excluded not because we don't want 
\#  them, but because Win2K won't allow them to be backed up 
\#  except via proprietary Win32 API calls.
  Exclude = {
    &quot;/Documents and Settings/*/Application Data/*/Profiles/*/*/
         Cache/*&quot;
    &quot;/Documents and Settings/*/Local Settings/Application Data/
         Microsoft/Windows/[Uu][Ss][Rr][Cc][Ll][Aa][Ss][Ss].*&quot;
    &quot;/Documents and Settings/*/[Nn][Tt][Uu][Ss][Ee][Rr].*&quot;
    &quot;/Documents and Settings/*/Cookies/*&quot;
    &quot;/Documents and Settings/*/Local Settings/History/*&quot;
    &quot;/Documents and Settings/*/Local Settings/
         Temporary Internet Files/*&quot;
    &quot;/Documents and Settings/*/Local Settings/Temp/*&quot;
    &quot;/WINNT/CSC&quot;
    &quot;/WINNT/security/logs/scepol.log&quot;
    &quot;/WINNT/system32/config/*&quot;
    &quot;/WINNT/msdownld.tmp/*&quot;
    &quot;/WINNT/Internet Logs/*&quot;
    &quot;/WINNT/$Nt*Uninstall*&quot;
    &quot;/WINNT/Temp/*&quot;
    &quot;/temp/*&quot;
    &quot;/tmp/*&quot;
    &quot;/pagefile.sys&quot;
  }
}
</pre>
Note, the three line of the above Exclude were split to fit on the document
page, they should be written on a single line in real use.

<page_prev name="Bacula Configuration" url="configure.html">
<page_next name="Client/File daemon Configuration" url="filedconf.html">
