Martin, thanks, I admit that for me the fileset definition is one of the more
confusing things in Bacula. Thanks for the explanation, however, honestly, I
don’t get it.
I adapted the fileset according to your proposal, and this is what baculum
makes from it:
Fileset {
Name = "test-appdata"
EnableVss = no
EnableSnapshot = no
Include {
File = "/home/dockerman"
Options {
OneFs = "No"
RegexDir = "^/home/dockerman/containerdata-"
}
Options {
OneFs = "No"
Exclude = "Yes"
RegexDir = "^/home/dockerman/[^/]+$"
}
}
Running this results in actually nearly the same result. The delta of the
outcome are actually 3 files (gleaned form the numbers of the jobs, I don’t
know which files that are).
Does the order of the declarations (as seen above) have anything to do with
this result?
> On 26. Aug 2022, at 21:24, Martin Simmons <[email protected]> wrote:
>
>>>>>> On Fri, 26 Aug 2022 20:41:22 +0200, Justin Case said:
>>
>> So actually, the fileset did back up the /home/../containerdata.. stuff, but
>> also other files outside of /home/,,,/containderdata, which I did not intend
>> to happen.
>>
>> in the /home/dockerman there are only dot-files sich as .Xauthority and
>> .ssh/config Why would those have been backed up by this fileset?
>>
>> And then I realized that this was also the case for the compound fileset!
>> The fileset does actually back up the containerdata-* folder contents both
>> in /home/dockerman and in /mnt. The amount of data in /home is just much
>> smaller and in baculum the order of the files shown suggested that files
>> other then /home/../containerdata-… were backed up, and the files on
>> containerdata couldn’t be seen in the file list.
>>
>> Still the same caveat as above holds for the compound fileset, too. I don’t
>> understand that.
>
> It does that because your fileset definition tells it to :-)
>
> The problem is that "^/home/dockerman/.*/" only matches directories two levels
> below /home/dockerman, such as /home/dockerman/dir1/dir2. Everything above
> that is included, for example directories like /home/dockerman/dir1 and files
> like /home/dockerman/file1 and /home/dockerman/dir1/file1.
>
> I think this does what you want:
>
> Include {
> Options {
> OneFs = no
> # override the Exclude for this prefix
> RegexDir = "^/home/dockerman/containerdata-"
> }
> Options {
> OneFs = no
> Exclude = yes
> # disallow all top-level things not explicitly included above
> Regex = "^/home/dockerman/[^/]+$"
> }
> File = "/home/dockerman"
> }
>
> Note that the paths inside the /home/dockerman/containerdata-... directories
> will be included implicitly because they don't match the excluded Regex. The
> Options (except Exclude) from the last clause will be used for those paths.
>
> __Martin
_______________________________________________
Bacula-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-users