X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=docs%2Fmanuals%2Fen%2Fmain%2Ffileset.tex;h=3d18330b26714ef3c67522ddff74def1165d266e;hb=38b66f106ae3cc3a1c56faa6a63336f832208145;hp=a0675bcf81a7f603ca327a9651026ed10fbabebb;hpb=3664a369cc15698d38697cc424a59a2a09323eac;p=bacula%2Fdocs diff --git a/docs/manuals/en/main/fileset.tex b/docs/manuals/en/main/fileset.tex index a0675bcf..3d18330b 100644 --- a/docs/manuals/en/main/fileset.tex +++ b/docs/manuals/en/main/fileset.tex @@ -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= listing 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}.