As I mentioned earlier this month, I'm adding some functionality to BackupPC, and one of the things I'm working on is the BackupFilesOnly / BackupFilesExclude syntax. After some thought, I've come up with a syntax that I want some feedback on.
--These entries should be fully qualified files or folders with the 'breaking' induced by using SmbShareName, RsyncShareName, et al. In particular, if your shareName is '/home' or '/home/', and you want to back up '/home/pcmantz', you should put '/pcmantz' in your BackupFilesOnly hash.
--For clarity, BackupFilesOnly files should *always* begin with a forward slash, to indicate that it is a subfolder of the shareName. From UNIX terminology, you can think of the backup as being 'rooted' at the shareName.
--These entries can be specified in the same way as BackupFilesOnly.
--You can 'unroot' a pattern by not preceding it by a backslash, allowing exclusion at any depth. If you want to ignore all files and folders with the name 'tmp', you can simply put 'tmp' in your BackupFilesExclude array for that share.
--You can use a second 'glob-like' syntax; in particular, you can use the '*' and '?' operators to define exclude files, but not things like character groups, bash variables, or the homedir shortcut ('~'). Thus, if you want to exclude all your emacs temporary files, you can put '*~' in your BackupFilesExclude array.
--Characters with special meaning such as parenthesis, brackets, square brackets, etc. that are used in filenames should be excluded in the same manner as one would on the command line in your favorite shell, but special functionality beyond what is mentioned above will not be supported.
For future protocols and protocol rewrites, I would like to use this syntax. On the roadmap already is rewriting the Samba protocol to use FileSys::SmbClient, and using this syntax would make it easier for new users to approach. I would like to hear the opinion of current users on the flexibility and accessibility of this syntax, and any suggestions that you could make. Do you feel this syntax is sufficient for your backup needs?
Zmanda - Open source backup and recovery http://www.zmanda.com/