storeBackupSearch.pl

storeBackupSearch.pl allows you to search in specific backups in a backup series or in all backups under backupDir. You can define any rule built from combinations of file name, size, mode (permissions), owner (uid, gid), creation time, modify time and file type - naturally the ones of the original source directory.
See section rules how to define rules. It will help you if you have at least some very basic knowledge about scripting or programming.

       storeBackupSearch.pl -g configFile

       storeBackupSearch.pl [-f configFile] [-b backupDirectory]
             [-s rule]  [--absPath] [-w file] [--parJobs number]
             [-d level] [--once] [--print] [-T tmpdir] [backupRoot . . .]

This program allows you to set the options on the command line and in a configuration file. You have to set the options backupDir and searchRule.

First, the options which can be used only on command line. There is always a long option (like --file) and sometimes also a shortcut (-f):

--generate / -g
Generate a template for a configuration file. After generation, you can edit it with the editor of your choice. It is easier to write rules in the configuration file, because on the command line the shell strips quotes.
--print
Prints the options used (from command line and from the configuration file) and stops after printing the options. In case of difficult quoting (especially on the command line) this gives you the chance to see what's really used in the program.
--file / -f
Name of the configuration file you want to use.

The following options can be used on the command line and in the configuration file (see section 7.1). There is a long option for the command line (like --searchRule), sometimes also a shortcut for the command line (like -s) and the name of the term used in the configuration file (like searchRule)).

--backupDir / backupDir
The repository / backup where you want backups to search. You can set this option to your whole backup repository, to a series or to a single backup.
--searchRule / -s / searchRule
rule for searching, see section rules for how to define rules.
--absPath / -a / absPath
the files found will be printed with absolute path names
--writeToFile / -w / writeToFile
write the result of the search to the specified file, default is stdout
--parJobs / -p / parJobs
Maximum number of parallel search operations. The default value is chosen automatically as the number of cores plus 1.
--debug / -d / debug
debug level, possible values are 0, 1, 2; default = 0
--once / -o / once
show every file found only once (depending on the contence respectively the md5 sum of each file)
--tmpdir / -T /tmpdir
Directory for temporary files, the default value is picked from the environment variable $TMPDIR. If it does not exist, /tmp is set as the default value.
...backupRoot... / backupRoot
On the command line, this is not an option but a list parameter. So you have to write on the command line e.g.:

# storeBackupSearch.pl <all_options> 2008.08.27_16.59.01 2008.08.30_10.13.38

In the configuration file this is similar to:
backupRoot = 2008.08.27_16.59.01 2008.08.30_10.13.38
You can define a relative path to directories below backupDir where to search. This can be a specific backup itself (like in this example), a whole backup series or a directory in which directories with backup series are stored (and so on). You can configure storeBackupSearch.pl to search in multiple directories.
If you do not specify any directory, then all backups below backupDir are used for the search.
You need read permissions for the .md5CheckSum.*-files in the backups.

Heinz-Josef Claes 2014-04-20