This issue is frequently discussed on the users list, so I think it should be addressed in the manual. The example below uses Windows pathnames, but the concept is generic so it could goin the FileSet Examples section and not just the Windows FileSets section. Feel free to use the text below.
------------------------------------------------------------------------------ The following example shows how to back up the My Pictures directory inside the My Documents directory for all users in C:/Documents and Settings, i.e. everything matching the pattern 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. 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 are compared and the directory or file is either included or excluded. The FileSet resource definition below implements this by including specifc directories and files and excluding everything else. FileSet { Name = "AllPictures" Include { File = "C:/Documents and Settings" Options { signature = SHA1 verify = s1 IgnoreCase = yes # Include all users' directories so we reach the inner ones. Unlike a # WildDir pattern ending in *, this RegExDir only matches the top-level # directories and not any inner ones. RegExDir = "^C:/Documents and Settings/[^/]+$" # Ditto all users' My Documents directories. WildDi = "C:/Documents and Settings/*/My Documents" # Ditto all users' My Documents/My Pictures directories. WildDir = "C:/Documents and Settings/*/My Documents/My Pictures" # Include the contents of the My Documents/My Pictures directories and # any subdirectories. Wild = "C:/Documents and Settings/*/My Documents/My Pictures/*" } Options { Exclude = yes IgnoreCase = yes # Exclude everything else, in particular any files at the top level and # any other directories or files in the users' directories. Wild = "C:/Documents and Settings/*" } } } ------------------------------------------------------------------------------ __Martin ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Bacula-devel mailing list Bacula-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-devel