]> git.sur5r.net Git - bacula/docs/blobdiff - docs/manuals/en/main/fileset.tex
Commit two patches from Philippe to cleanup the manuals
[bacula/docs] / docs / manuals / en / main / fileset.tex
index ffcfe72b44031159c7cb601c4b2f0540643025b1..3d99df73b31fd16f71f4e80a87c028804455a603 100644 (file)
@@ -29,8 +29,8 @@ On most modern Win32 machines, you can edit the conf files with {\bf
 notebook} and choose output encoding UTF-8.
 
 To ensure that Bacula configuration files can be correctly read including
-foreign characters the {bf LANG} environment variable
-must end in {\bf .UTF-8}. An full example is {\bf en\_US.UTF-8}. The
+foreign characters the {\bf LANG} environment variable
+must end in {\bf .UTF-8}. A full example is {\bf en\_US.UTF-8}. The
 exact syntax may vary a bit from OS to OS, and exactly how you define
 it will also vary.
 
@@ -79,6 +79,9 @@ defined for each Backup job.
   only for VSS enabled Win32 File daemons. It permits a consistent copy
   of open files to be made for cooperating writer applications, and for
   applications that are not VSS away, Bacula can at least copy open files.
+  The Volume Shadow Copy will only be done on Windows drives where the
+  drive (e.g. C:, D:, ...) is explicitly mentioned in a {\bf File}
+  directive.
   For more information, please see the
   \ilink{Windows}{VSS} chapter of this manual.
 
@@ -148,20 +151,17 @@ Including a directory twice is very easy to do.  For example:
 \footnotesize
 \begin{verbatim}
   Include {
+    Options { compression=GZIP }
     File = /
     File = /usr
-    Options { compression=GZIP }
   }
 \end{verbatim}
 \normalsize
 
 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. 
+filesystem) will cause /usr to be backed up twice.
 
-If you have used Bacula prior to version 1.36.3, you will note three things in
-the new FileSet syntax: 
+Please take note of the following items in the FileSet syntax: 
 
 \begin{enumerate}
 \item There is no equal sign (=) after the Include and before the opening
@@ -252,6 +252,25 @@ The directives within an Options resource may be one of the following:
    compression levels greater than six generally give very little extra
    compression and are rather CPU intensive.
 
+   You can overwrite this option per Storage resource with
+   \ilink{AllowCompression}{AllowCompression} option.
+
+\item [compression=LZO]
+\index[dir]{compression}
+\index[dir]{Directive!compression}
+   All files saved will be software compressed using the LZO
+   compression format. The compression is done on a file by file basis by
+   the File daemon. Everything else about GZIP is true for LZO.
+
+   LZO provides much faster compression and decompression speed but lower
+   compression ratio than GZIP. If your CPU is fast enough you should be able
+   to compress your data without making the backup duration longer.
+
+   Note that bacula only use one compression level LZO1X-1 specified by LZO.
+
+   You can overwrite this option per Storage resource with
+   \ilink{AllowCompression}{AllowCompression} option.
+
 \item [signature=SHA1]
 \index[dir]{signature}
 \index[dir]{SHA1}
@@ -281,15 +300,13 @@ The directives within an Options resource may be one of the following:
 \index[dir]{Directive!basejob}
 
 The options letters specified are used when running a {\bf Backup Level=Full}
-with BaseJobs. The options letters are the same than in the \textbf{verify=}
-option below.
+with BaseJobs. The options letters are the same as in the \textbf{verify=}
+options below.
 
-\item[accurate=\lt{}options\gt{}] 
-\index[dir]{accurate}
-\index[dir]{Directive!accurate}
-   The options letters specified are used  when running a {\bf Backup
-   Level=Incremental/Differential} in Accurate mode. The options
-   letters are the same than in the \textbf{verify=} option below.  
+\item[accurate=\lt{}options\gt{}] \index[dir]{accurate}
+  \index[dir]{Directive!accurate} The options letters specified are used when
+  running a {\bf Backup Level=Incremental/Differential} in Accurate mode. The
+  options letters are the same as in the \textbf{verify=} directive below. 
 
 \item [verify=\lt{}options\gt{}]
 \index[dir]{verify}
@@ -335,6 +352,10 @@ option below.
 
       \item {\bf 1}
       compare the SHA1 signature  
+
+      \item {\bf A}
+      Only for Accurate option, it allows to always backup the file
+
       \end{description}
 
    A useful set of general options on the {\bf Level=Catalog}  or {\bf
@@ -349,7 +370,7 @@ option below.
    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
+   Bacula 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:
@@ -366,7 +387,7 @@ 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: 
+   Note: in older versions of Bacula, the above message was of the form: 
 
 \footnotesize
 \begin{verbatim}
@@ -470,13 +491,14 @@ Change: 2005-11-06 12:36:48.000000000 +0100
    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
+   up using Windows BackupRead  API calls and 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.
+   this format is not portable to other systems -- e.g.  Unix, and
+   very old  Win95/98/Me systems.
    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.
+   default ({\bf no}) so that the maximum information concerning your 
+   Windows files is saved.
 
 \item [recurse=yes\vb{}no]
 \index[dir]{recurse}
@@ -496,9 +518,9 @@ Change: 2005-11-06 12:36:48.000000000 +0100
    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.
    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.
+   check for buffers of all zero, and if there is a 32K block of all zeros
+   (see below), that block will become a hole in the file, which 
+   may not be desirable if the original file was not a sparse file.
 
    {\bf Restrictions:} Bacula reads files in 32K buffers.  If the whole
    buffer is zero, it will be treated as a sparse block and not written to
@@ -526,6 +548,9 @@ Change: 2005-11-06 12:36:48.000000000 +0100
    benchmark the difference or set sparse for only those files that are
    really sparse.
 
+   You probably should not use this option on files or raw disk devices
+   that are not really sparse files (i.e. have holes in them).
+
 \label{readfifo}
 \item [readfifo=yes\vb{}no]
 \index[dir]{readfifo}
@@ -604,7 +629,7 @@ Change: 2005-11-06 12:36:48.000000000 +0100
 \index[dir]{checkfilechanges}
 \index[dir]{Directive!checkfilechanges}
    On versions 2.0.4 or greater, 
-   if enabled, the Client will checks size, age of each file after 
+   if enabled, the Client will check size, age of each file after 
    their backup to see if they have changed during backup. If time 
    or size mismatch, an error will raise.
 
@@ -642,10 +667,9 @@ Change: 2005-11-06 12:36:48.000000000 +0100
 
    You may want to test your expressions prior to running your
    backup by using the bwild program. Please see the
-   \ilink{Utilities}{bwild} 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.
+   \borgxrlink{Utilities}{bwild}{utility}{chapter} of the \utilityman{} for
+   more information. You can also test your full FileSet definition by using
+   the \borgxrlink{estimate}{estimate}{console}{command} in the \consoleman{}.
    It is recommended to enclose the string in double quotes.
 
 \item [wilddir=\lt{}string\gt{}]
@@ -664,10 +688,9 @@ Change: 2005-11-06 12:36:48.000000000 +0100
 
    You may want to test your expressions prior to running your
    backup by using the bwild program. Please see the
-   \ilink{Utilities}{bwild} 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.
+   \borgxrlink{Utilities}{bwild}{utility}{chapter} of the \utilityman{} for
+   more information. You can also test your full FileSet definition by using
+   the \borgxrlink{estimate}{estimate}{console}{command} in the \consoleman{}.
    An example of excluding with the WildDir option on Win32 machines is    
    presented below.
 
@@ -690,14 +713,12 @@ Change: 2005-11-06 12:36:48.000000000 +0100
 
    You may want to test your expressions prior to running your
    backup by using the bwild program. Please see the
-   \ilink{Utilities}{bwild} 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    
+   \borgxrlink{Utilities}{bwild}{utility}{chapter} of the \utilityman{} for
+   more information. You can also test your full FileSet definition by using
+   the \borgxrlink{estimate}{estimate}{console}{command} in the \consoleman{}.
+   An example of excluding with the WildFile option on Win32 machines is
    presented below.
 
-
 \item [regex=\lt{}string\gt{}]
 \index[dir]{regex}
 \index[dir]{Directive!regex}
@@ -716,10 +737,9 @@ Change: 2005-11-06 12:36:48.000000000 +0100
    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{Utilities}{bwild} 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.
+   \borgxrlink{Utilities}{bwild}{utility}{chapter} of the \utilityman{} for
+   more information. You can also test your full FileSet definition by using
+   the \borgxrlink{estimate}{estimate}{console}{command} in the \consoleman{}.
 
    You find yourself using a lot of Regex statements, which will cost quite a lot
    of CPU time, we recommend you simplify them if you can, or better yet
@@ -746,8 +766,7 @@ Change: 2005-11-06 12:36:48.000000000 +0100
    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{Utilities}{bregex} chapter of this manual for
-   more.
+   \borgxrlink{bregex}{bregex}{utility}{command} of the \utilityman{} more.
 
 
 \item [regexdir=\lt{}string\gt{}]
@@ -768,8 +787,7 @@ Change: 2005-11-06 12:36:48.000000000 +0100
    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{Utilities}{bregex} chapter of this manual for
-   more.
+   \borgxrlink{bregex}{bregex}{utility}{command} of the \utilityman{} more.
 
 
 \item [exclude=yes\vb{}no]
@@ -783,18 +801,70 @@ Change: 2005-11-06 12:36:48.000000000 +0100
 \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
+   POSIX {\bf libacl} installed on your Linux system, Bacula will backup the
+   file and directory Unix Access Control Lists (ACL) as defined in IEEE Std
    1003.1e draft 17 and "POSIX.1e" (abandoned).  This feature is
-   available on UNIX only and depends on the ACL library.  Bacula is
+   available on Unix systems only and requires the Linux ACL library. Bacula is
    automatically compiled with ACL support if the {\bf libacl} library is
-   installed on your system (shown in config.out).  While restoring the
+   installed on your Linux system (shown in config.out).  While restoring the
    files Bacula will try to restore the ACLs, if there is no ACL support
    available on the system, Bacula restores the files and directories but
    not the ACL information.  Please note, if you backup an EXT3 or XFS
    filesystem with ACLs, then you restore them to a different filesystem
    (perhaps reiserfs) that does not have ACLs, the ACLs will be ignored.
 
+   For other operating systems there is support for either POSIX ACLs or
+   the more extensible NFSv4 ACLs.
+
+   The ACL stream format between Operation Systems is \textbf{not}
+   compatible so for example an ACL saved on Linux cannot be restored on
+   Solaris.
+
+   The following Operating Systems are currently supported:
+
+   \begin{enumerate}
+   \item AIX (pre-5.3 (POSIX) and post 5.3 (POSIX and NFSv4) ACLs)
+   \item Darwin
+   \item FreeBSD (POSIX and NFSv4/ZFS ACLs)
+   \item HPUX
+   \item IRIX
+   \item Linux
+   \item Solaris (POSIX and NFSv4/ZFS ACLs)
+   \item Tru64
+   \end{enumerate}
+
+\label{XattrSupport}
+\item [xattrsupport=yes\vb{}no]
+\index[dir]{xattrsupport}
+\index[dir]{Directive!xattrsupport}
+   The default is {\bf no}.  If this option is set to yes, and your
+   operating system support either so called Extended Attributes or
+   Extensible Attributes Bacula will backup the file and directory
+   XATTR data. This feature is available on UNIX only and depends on
+   support of some specific library calls in libc.
+
+   The XATTR stream format between Operating Systems is {\bf not}
+   compatible so an XATTR saved on Linux cannot for example be restored
+   on Solaris.
+
+   On some operating systems ACLs are also stored as Extended Attributes
+   (Linux, Darwin, FreeBSD) Bacula checks if you have the aclsupport
+   option enabled and if so will not save the same info when saving
+   extended attribute information. Thus ACLs are only saved once.
+
+   The following Operating Systems are currently supported:
+
+   \begin{enumerate}
+   \item AIX (Extended Attributes)
+   \item Darwin (Extended Attributes)
+   \item FreeBSD (Extended Attributes)
+   \item IRIX (Extended Attributes)
+   \item Linux (Extended Attributes)
+   \item NetBSD (Extended Attributes)
+   \item Solaris (Extended Attributes and Extensible Attributes)
+   \item Tru64 (Extended Attributes)
+   \end{enumerate}
+
 \item [ignore case=yes\vb{}no]
 \index[dir]{ignore case}
 \index[dir]{Directive!ignore case}
@@ -810,7 +880,7 @@ Change: 2005-11-06 12:36:48.000000000 +0100
    filesystem type.  The permitted filesystem-type names are:
 
    ext2, jfs, ntfs, proc, reiserfs, xfs, usbdevfs, sysfs, smbfs,
-   iso9660.  For ext3 systems, use ext2.
+   iso9660.
 
    You may have multiple Fstype directives, and thus permit matching
    of multiple filesystem types within a single Options resource.  If
@@ -969,8 +1039,8 @@ df -l | grep "^/dev/hd[ab]" | grep -v ".*/tmp" \
 \end{verbatim}
 \normalsize
 
-   If the vertical bar (|) in front of my\_partitions is preceded by a
-   backslash as in \textbackslash{}|, the program will be executed on the
+   If the vertical bar (\verb+|+) in front of my\_partitions is preceded by a
+   backslash as in \textbackslash{}\verb+|+, the program will be executed on the
    Client's machine instead of on the Director's machine.
    Please note that if the filename is given within quotes, you
    will need to use two slashes.  An example, provided by John Donagher,
@@ -1223,7 +1293,7 @@ FileSet {
      File = /usr/lib/another_file
   }
   Exclude {
-     File = /tmp
+     File = /tmp                          # don't add trailing /
   }
 }
 \end{verbatim}
@@ -1542,7 +1612,8 @@ RunBeforeJob} directive.
 You may also include full filenames or directory names in addition to using
 wild-cards and {\bf Exclude=yes} in the Options resource as specified above by
 simply including the files to be excluded in an Exclude resource within the
-FileSet. For example: 
+FileSet. It accepts wild-cards pattern, so for a directory, don't add a trailing
+/. For example:
 
 \footnotesize
 \begin{verbatim}
@@ -1560,7 +1631,7 @@ FileSet {
   }
   Exclude {
     File = /proc
-    File = /tmp
+    File = /tmp                          # Don't add trailing /
     File = .journal
     File = .autofsck
   }
@@ -1613,7 +1684,7 @@ rules:
 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 {\bf estimate job=xxx listing} command documented in the 
-\ilink{Console chapter}{estimate} of this manual. 
+\borgxrlink{estimate}{estimate}{console}{command} of \consoleman{}.
 
 On Win32 systems, if you move a directory or file or rename a file into the
 set of files being backed up, and a Full backup has already been made, Bacula
@@ -1746,8 +1817,7 @@ as of version 1.37.30 or later.
 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}{estimate} in the Console chapter of this
-manual.
+\borgxrlink{estimate}{estimate}{console}{command} of \consoleman{}.
 
 As an example, suppose you add the following test FileSet:
 
@@ -1758,7 +1828,7 @@ FileSet {
   Include {
     File = /home/xxx/test
     Options {
-       regex = ".*\.c$"
+       regex = ".*\\.c$"
     }
   }
 }
@@ -1774,4 +1844,5 @@ estimate job=<any-job-name> listing client=<desired-client> fileset=Test
 \end{verbatim}
 \normalsize
 
-to give you a listing of all files that match.
+to give you a listing of all files that match.  In the above
+example, it should be only files with names ending in  {\bf .c}.