Hi Nathan,

 Thanks for the reply, in my configuration I need the includes, I make
backups of terabytes of data, so split and the use of includes are
essencial. 

 I opened a bug in github.

Cheers,
Nuno

On Wed, 2019-06-26 at 18:48 -0400, Nathan Stratton Treadway wrote:
> On Wed, Jun 26, 2019 at 16:57:33 +0100, Nuno Dias wrote:
> > But if I have something like this
> > 
> > ----------------------------------
> > MACHINE   /dir   {
> >     tar
> >     exclude "./subdir/*"
> > }
> > 
> > MACHINE /dir/subdir /dir {
> >     tar
> >     include "./subdir/*"
> > }
> > ----------------------------------
> > 
> > the commands 
> > 
> > $ amdump CONF MACHINE ^/dir$
> > and 
> > $ amdump CONF MACHINE =/dir
> > 
> >  Don't work as expected, both backups (/dir and /dir/subdir) are
> > made
> > 
> >  From "man disklist"
> > 
> > diskname
> >     The name of the disk (a label). In most case, you set your
> > diskname
> >     to the diskdevice and you don't set the diskdevice.  If you
> > want
> >     multiple entries with the same diskdevice, you must set a
> > different
> >     diskname for each entry. It's the diskname that you use on the
> >     commandline for any Amanda command. Look at the
> > example/disklist
> >     file for example.
> > 
> >  So from this, if it's the diskname that is used in the command, it
> > seems that the reality is amdump is using the diskdevice instead!!
> 
> Thanks for the additional info, which certainly helps explain what is
> happening to you....
> 
> My understanding of the inner workings of this part of Amanda is
> quite
> fuzzy, but assuming I have followed the program flow behind "amdump"
> correctly, it looks like the code in question is found in
> server-src/diskfile.c:match_disklist() , which contains the following
> lines:
>             if ([...] &&
>                 (match_disk(sargv[i], dp->name) ||
>                 (dp->device && match_disk(sargv[i], dp->device)))) {
> 
> ..so I believe that in fact arguments specified on the amdump command
> line
> are matched against BOTH the "diskname" and "diskdevice" fields, and
> if
> either one matches the argument then that DLE is selected.... (which
> I
> agree doesn't match the wording of the manpage....).
> 
> (As far as I can tell from git, this code has been like that since
> at least 2006.)
> 
> 
> In this particular example I think you could work around the problem
> by
> changing your disklist to
> 
> ----------------------------------
> MACHINE   /dir   {
>       tar
>       exclude "./subdir/*"
> }
> 
> MACHINE /dir/subdir {
>       tar
> }
> ----------------------------------
> 
> (in which case presumably using either ^/dir$ or =/dir would not
> match
> the second DLE) ... but obviously that doesn't help if you ever want
> to
> have a DLE which uses "include" to pull in multiple subdirectories of
> /dir.
> 
> I guess another possible solution is to using disknames of a form
> that
> are designend to be unique, e.g. something like (not tested)
> 
> > ----------------------------------
> > MACHINE  dir-main   /dir {
> >     tar
> >     exclude "./subdir/*"
> > }
> > 
> > MACHINE dir-subdir /dir {
> >     tar
> >     include "./subdir/*"
> > }
> > ----------------------------------
> 
> ... and use those disknames on the amdump command line...  (But you
> have to choose disknames carefully so your Amanda Mail Report looks
> reasonable, etc.)
> 
> 
>                                                       Nathan
> 
> -------------------------------------------------------------------
> ---------
> Nathan Stratton Treadway  -  [email protected]  -  Mid-Atlantic
> region
> Ray Ontko & Co.  -  Software consulting services  -   
> http://www.ontko.com/
>  GPG Key: http://www.ontko.com/~nathanst/gpg_key.txt   ID:
> 1023D/ECFB6239
>  Key fingerprint = 6AD8 485E 20B9 5C71 231C  0C32 15F3 ADCD ECFB 6239
-- 
Nuno Dias <[email protected]>
LIP

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to