Bacula-users

Re: [Bacula-users] ignored entries in FileSet

2011-05-05 05:52:19
Subject: Re: [Bacula-users] ignored entries in FileSet
From: Martin Simmons <martin AT lispworks DOT com>
To: bacula-users AT lists.sourceforge DOT net
Date: Thu, 5 May 2011 10:49:38 +0100
>>>>> On Wed, 4 May 2011 20:04:05 -0700 (PDT), fink  said:
> 
> --- On Wed, 5/4/11, Martin Simmons <martin AT lispworks DOT com> wrote:
> > You need to include the intervening directories, but not
> > their contents, as in
> > http://www.mail-archive.com/bacula-users AT lists.sourceforge DOT 
> > net/msg33689.html
> 
> Thanks for your help! The link was very helpful, and I got the basics working.
> 
> Here is my current FileSet:
> """
> FileSet {
>   Name = "FreeBSDConfigs"
>   Include {
>     Options {
>       RegexDir =  "^/usr/jails/[^/]+$"
>       WildDir =   "/usr/jails/*/etc"
>       Wild =      "/usr/jails/*/etc/*"
>       WildDir =   "/usr/jails/*/usr"
>       WildDir =   "/usr/jails/*/usr/local"
>       WildDir =   "/usr/jails/*/usr/local/etc"
>       Wild =      "/usr/jails/*/usr/local/etc/*"
>     }
>     Options {
>       RegexDir = ".*"
>       Wild = "/usr/jails/*"
>       Wild = "*/defaults/*"
>       Wild = "*/periodic/*"
>       Wild = "*/rc.d/*"
>       exclude = yes
>     }
>     File = /etc
>     File = /usr/local/etc
>     File = /usr/jails
>   }
> }
> """
> 
> Is it necessary to specify both of these lines?
>       WildDir =   "/usr/jails/*/etc"
>       Wild =      "/usr/jails/*/etc/*"

Yes, you need both.

An alternative like

      Wild =      "/usr/jails/*/etc*"

would be wrong because it would also match a file called
/usr/jails/foo/etcblah.


> Will Bacula backup a directory, but not its contents?

Yes (e.g. it is useful for mount-points).


> Also, although I've specified to exclude the defaults, periodic, and rc.d
> directories, they are still listed in the job estimate. What am I doing
> wrong?

The problem is that they match the first Options clause, so Bacula accepts
them immediately without looking at the second clause.  It should work with
three Options clauses:

    # exclude some things matched by the second Options clause
    Options {
      Wild = "*/defaults/*"
      Wild = "*/periodic/*"
      Wild = "*/rc.d/*"
      exclude = yes
    }
    # include a little more than what we want
    Options {
      RegexDir =  "^/usr/jails/[^/]+$"
      WildDir =   "/usr/jails/*/etc"
      Wild =      "/usr/jails/*/etc/*"
      WildDir =   "/usr/jails/*/usr"
      WildDir =   "/usr/jails/*/usr/local"
      WildDir =   "/usr/jails/*/usr/local/etc"
      Wild =      "/usr/jails/*/usr/local/etc/*"
    }
    # exclude everything else
    Options {
      RegexDir = ".*"
      Wild = "/usr/jails/*"
      exclude = yes
    }

Beware that the first Options clause is slightly underspecified, e.g. it will
exclude a jail called "periodic" (/usr/jails/periodic).  Adding "etc" to the
patterns would help.

__Martin

------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network 
management toolset available today.  Delivers lowest initial 
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users