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 <mar...@lispworks.com> 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 Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users