I had trouble following the description of file specification in
FileSets in html-manual/dirdconf.html#FileSetResource.  I want to
double-check that I am understanding it, and note some areas where the
current language or design is confusing.

I am looking at the html doc in Debian's bacula-doc 1.36.1-1 package.

First, the rule "first match wins" applies to options within an
Include, but not between Include and Exclude, right?  So
  Include {
    File = /a
    }
  Exclude {
    File = /a/b.c
  }
will backup everything in /a except b.c, even though /a/b.c first
matches the Include specification.  This is confusing because the
model for the handling of matching options (first match governs) is
not the rule for Include/Exclude.

The paragraph after the Include and Exclude options currently says
"The Include resource must contain a list of directories and/or files
to be processed in the backup job. Normally, all files found in all
subdirectories of any directory in the Include File list will be
backed up. The Include resource may also *oner more Options resources
that specify options such as compression to be applied to all or any
subset of the files found for backup."
Around * this seems garbled.  Perhaps it should be "may also contain
one or more"?

I also find the phrase "The Include resource must contain a list of
directories and/or files" misleading, since apparently what is needed
is not a list of names, but a list with entries of the form "File =
xxxx".  By the way, why require the File = ?

Moving the section beginning "<file-list> is a list of directory
and/or filename names specified with a File = directive. To include
names containing spaces, enclose the name between double-quotes." up
above the discussion of options, immediately after introducing
Include and Exclude, would be helpful.

I take it the names in the file-list can not use wild cards or regular
expressions, right?

Turning now to the Options specification in particular:

What are the wild-card rules for the wild= directive?  What characters
are wild?  It looks from some of the other text that only * is wild,
that it will match 0 or more characters except for / (i.e., unix shell
file name behavior, I think).  Anyway, it would be good to say more
explicitly what is intended.  I'd like to know as well :)

What if both wild= and regex= are specified?

Finally, I think the use of exclude in options presents a somewhat
confusing mental model.  Without it, patterns simply determine whether
the indicated options apply to a particular file.  With it, they may
actually drop the file from backup (I know, one could think of this as
"applying" the exclude option, but to me that's a much different
thing).  The final problem, noted at the outset, is that one has to
switch between the "first match wins" rule for options and the "any
exclude rule knocks you out" rule for Include/Exclude.

Can there be more than one Exclude in a FileSet?  If so, does the
order or position of entries matter at all?

Thanks.

P.S. In a home grown system of my own I had file specifications as
regular expressions, with a rule that the *last* one determined what
happened.  Using + or include and - for exclude I could say things
like (slightly simplifying)
+/a
-/a/b
 /a/b/*.c
+ means backup everything under /a (it is a root). - excludes the b
directory, and the next line says we do backup *.c files in /a/b.

Obviously this is a simpler situation than bacula's, since I didn't
have any notion of associated options.


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to