]> git.sur5r.net Git - bacula/docs/blobdiff - docs/manuals/en/main/fileset.tex
Improve some text
[bacula/docs] / docs / manuals / en / main / fileset.tex
index a0675bcf81a7f603ca327a9651026ed10fbabebb..3d18330b26714ef3c67522ddff74def1165d266e 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.
 
@@ -91,9 +91,7 @@ defined for each Backup job.
 \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{} \}  }
+\index[dir]{Options \{ \lt{}file-options\gt{} \}  }
 
 \item [Exclude \{ \lt{}file-list\gt{} \}]
 \index[dir]{Exclude \{ \lt{}file-list\gt{} \} }
@@ -151,9 +149,9 @@ 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
@@ -206,7 +204,7 @@ 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
+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
@@ -255,6 +253,22 @@ The directives within an Options resource may be one of the following:
    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}
@@ -284,15 +298,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}
@@ -338,11 +350,15 @@ 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
-   Level=DiskToCatalog}  verify is {\bf pins5} i.e. compare permission bits,
-   inodes, number  of links, size, and MD5 changes. 
+   Level=DiskToCatalog}  verify is {\bf pins5} i.e. compare permission bits, then
+   inodes, number  of links, size, and finally MD5 changes.
 
 \item [onefs=yes\vb{}no]
 \index[dir]{onefs}
@@ -352,7 +368,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:
@@ -369,7 +385,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}
@@ -427,7 +443,7 @@ 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 that  "/home is a different filesystem" when 
+   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 
@@ -473,13 +489,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}
@@ -499,9 +516,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
@@ -529,6 +546,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}
@@ -645,10 +665,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{}]
@@ -667,10 +686,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.
 
@@ -693,14 +711,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}
@@ -719,10 +735,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
@@ -749,8 +764,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{}]
@@ -771,8 +785,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]
@@ -786,18 +799,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
-   1003.1e draft 17 and "POSIX.1e" (abandoned).  This feature is
-   available on UNIX only and depends on the ACL library.  Bacula is
+   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 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}
@@ -813,7 +878,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
@@ -823,8 +888,6 @@ Change: 2005-11-06 12:36:48.000000000 +0100
    non-local filesystems. Normally, when you use this directive, you
    would also set {\bf onefs=no} so that Bacula will traverse filesystems.
 
-   This option is not implemented in Win32 systems.
-
 \item [DriveType=Windows-drive-type]
 \index[dir]{DriveType}
 \index[dir]{Directive!DriveType}
@@ -876,7 +939,7 @@ There are a number of special cases when specifying directories and files in a
 
 \begin{itemize}
 \item Any name preceded by an at-sign (@) is assumed to be the  name of a
-   file, which contains a list of files each preceded by a "File =".  The
+   file, which contains a list of files each preceded by a ``File =''.  The
    named file is read once when the configuration file is parsed during the
    Director startup.  Note, that the file is read on the Director's machine
    and not on the Client's.  In fact, the @filename can appear anywhere
@@ -1066,8 +1129,7 @@ Include {
 
    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 
-   \ilink{ Disaster Recovery Using Bacula}{RescueChapter} chapter of
+   disk, then load a statically  linked Bacula as described in the \ilink{Disaster Recovery Using Bacula}{RescueChapter} chapter of
    this manual. Then  save the whole disk partition. In the case of a disaster,
    you  can then restore the desired partition by again booting with  the rescue
    disk and doing a restore of the partition. 
@@ -1094,7 +1156,7 @@ Include {
    and go on to the next file.  The data read can be anything since Bacula
    treats it as a stream.
 
-   This feature can be an excellent way to do a "hot" backup of a very
+   This feature can be an excellent way to do a ``hot'' backup of a very
    large database.  You can use the {\bf RunBeforeJob} 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.  Be sure to
@@ -1226,7 +1288,7 @@ FileSet {
      File = /usr/lib/another_file
   }
   Exclude {
-     File = /tmp
+     File = /tmp                          # don't add trailing /
   }
 }
 \end{verbatim}
@@ -1350,7 +1412,7 @@ FileSet {
 \end{verbatim}
 \normalsize
 
-The "trick" here was to add a RegexFile expression that matches
+The ``trick'' here was to add a RegexFile expression that matches
 all files. It does not match directory names, so all directories in
 /myfile will be backed up (the directory entry) and any *.Z and *.gz
 files contained in them. If you know that certain directories do
@@ -1459,12 +1521,13 @@ C:/Documents and Settings/*/My Documents/My Pictures/*
 To understand how this can be achieved, there are two important points to
 remember:
 
-Firstly, Bacula walks over the filesystem depth-first starting from the File =
-lines.  It stops descending when a directory is excluded, so you must include
-all ancestor directories of each directory containing files to be included.
+Firstly, Bacula traverses the filesystem starting from the File = lines.
+It stops descending when a directory is excluded, so you must include all
+ancestor (higher level) directories of each directory containing files to
+be included.
 
 Secondly, each directory and file is compared to the Options clauses in the
-order they appear in the FileSet.  When a match is found, no further clauses
+order they appear in the FileSet.  When a match is found, no further Optionss
 are compared and the directory or file is either included or excluded.
 
 The FileSet resource definition below implements this by including specifc
@@ -1545,7 +1608,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}
@@ -1563,7 +1627,7 @@ FileSet {
   }
   Exclude {
     File = /proc
-    File = /tmp
+    File = /tmp                          # Don't add trailing /
     File = .journal
     File = .autofsck
   }
@@ -1580,7 +1644,7 @@ 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
 (\textbackslash{}). For example you might use the following
-for a Windows machine to backup the "My Documents" directory: 
+for a Windows machine to backup the ``My Documents'' directory: 
 
 \footnotesize
 \begin{verbatim}
@@ -1616,7 +1680,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
@@ -1749,8 +1813,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:
 
@@ -1761,7 +1824,7 @@ FileSet {
   Include {
     File = /home/xxx/test
     Options {
-       regex = ".*\.c$"
+       regex = ".*\\.c$"
     }
   }
 }
@@ -1777,4 +1840,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}.