* Martin Simmons schrieb am 07.10.08 um 13:23 Uhr:
> >>>>> On Tue, 7 Oct 2008 07:37:36 +0200, Kern Sibbald said:
> >
> >
> > I personally don't find it that confusing, but am willing to admit that
> > some
> > would. So, what is the solution?
> >
> > Drop the feature?
> >
> > Change the feature?
>
> Putting it outside the Include option and making it truely apply to the whole
> fileset would at least make it easier to define what it does.
>
>
> > If it involves programming, please realize that this is contributed code,
> > and
> > so any changes would have to be agreed on by some sort of consensus, and
> > then
> > done by someone other than the developers or perhaps by the author.
>
> I think the fileset syntax needs a complete overhaul.
I thought about this some time now. Conclusion: The current
FileSet{} Syntax is good, but IMO with some changes/improvements
it would be much more logical and easier to understand.
So I did a bit of a "Mockup" what I think how the FileSet would be
better structured maintaining the same flexibility:
Some definitions (many apply to the current syntax):
* There are two possible sections in "FileSet": "Include" and "Exclude"
There can be one or more Include and zero or one Exclude
statements.
* NEW: FileWild and FileRegex, not only File can be used to select
files in Include and Exclude
* All files matching one of the File* statements will be included into or
excluded from the backup accordingly.
* Any File/FileRegex/FileWild statements can begin with a "!" to
negate it.
* What will be backed up or not can never be controled from within
an "Options" section.
* Options sections will always only set/change parameters of
files to selected for that particular include statement.
# Example fileset with comments:
-------------------------------------------------------
FileSet {
Name = "MyFileSet"
Ignore FileSet Changes = <yes|no> # no change
Enable VSS = <yes|no> # no change
Include { # include /dev/sdf raw with sparse option
Options { # this option matches all File* statements
Sparse = YES # within this Include statement
}
File = "/dev/sdf"
}
# include some dirs, SHA1 for every file,
# compress all files not matching ".*\.(gz|bz2|tgz|tbz2)"
Include {
Options { # this option matches all File* statements
Signature = SHA1 # within this Include statement
}
# compress all files in this include section
# _not_ matching ".*\.(gz|bz2|tgz|tbz2)"
Options {
WildRegex = !".*\.(gz|bz2|tgz|tbz2)"
Compression = GZIP
}
File = "/" # begin at root, stay in FS
File = "/usr" # additional FS mounted on /usr
FileWild = "/lib*" # include /lib, /lib32, /lib64, ...
FileWild = "/usr/lib*" # include /usr/lib, /usr/lib64, ...
FileRegex = "/home/[a-f]*" # include all home dirs beginning
# with one of a,b,c,d,e,f
}
# exclude some of the previous selected files that we do not want
# to backup:
# everything in /tmp and every cache dir in user home dirs
# this applies to any files that matched previously because this
# section is at the end and thus processesd when!
Exclude {
File = /tmp
FileRegex = "/home/*/[Cc]ache"
}
}
-------------------------------------------------------
Comments please!
Regards
-Marc
--
8AAC 5F46 83B4 DB70 8317 3723 296C 6CCA 35A6 4134
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users
|