AMANDA-MATCH(7) | Miscellanea | AMANDA-MATCH(7) |
amanda-match - Common Amanda Match Expression
Several Amanda commands allow the user to specify dumps using "match expressions". This manual page describes the syntax of these expressions.
In some places, only certain match expressions are allowed. However, several commands take a dump specification ("dumpspec") consisting of a sequence of several expressions intended to match particular dumps in the catalog. Other applications take a DLE specification which indicates a set of DLEs to be operated on. These formats are described below.
An expression can be disabled be preceding it with the '=' character, in that case, an exact match is used.
Many program have an '--exact-match' argument that disable expression and exact match are used.
The hosts and disks match by word. Each word is a glob expression, and words are separated by the character '.' for host expressions and '/' for disk expressions. You can anchor the expression on the left with a '^' or on the right with a '$'. The matcher is case insensitive for hosts but case sensitive for disks. A match succeeds if all words in the expression match contiguous words in the host or disk.
If the disk is a UNC ("\\windows\share") then all '\' are converted to '/' before the match. Using '\' is complicated because of the extra quoting required by the shell and amanda. It's easier to use '/' because it requires less quoting ("//windows/share")
The special characters follow. Note that the shell interprets some of these characters, so when used on the command line, they must be escaped appropriately for the shell.
dot (.)
/
\
^
$
?
*
**
[...]
[!...]
hosta
host
host?
ho*na
ho**na
^hosta
sda*
/opt
(note dots:) .opt.
/
/usr
/usr$
share
share*
//windows/share
A datestamp expression is either a prefix of the datestamp, or a range expression (separated by '-') matching several prefixes. A leading ^ is removed, while arailing $ will force an exact match.
20001212-14
20001212-4
20001212-24
2000121
2
2000-10
200010$
Level expressions are either prefix matches e.g., "1", which matches "1", "10", and "123", absolute matches e.g., "3$" which only matches "3", or a range e.g., "3-5" which only matches levels 3, 4, and 5.
A dump specification is used to select one or more dumps from the catalog. It consists of a sequence of match expressions in the order host, disk, datestamp, and level. Note that some commands do not take a level argument, out of historical accident. Note, too, that the datestamp expression matches the time that the dump was made on the Amanda client, rather than the date it was moved to tape.
amtool MyConfig ^vpdesktop$
amtool MyConfig '*' /var/stage
amtool MyConfig www1 /var/www '*' www2 /var/www '*'
A DLE specification is used to select one or more DLEs. It consists of a sequence of match expressions. The first must be a host, and subsequent expressions will be experimentally matched against both hosts and disks in the disklist(5), preferring hosts. This dynamic matching process can lead to odd behavior in extreme cases (e.g., where a disk and a host have the same name), but for most uses does exactly what is expected.
amtool MyConfig vpdesktop /home/anderson
amtool MyConfig '*' ^/etc '*' ^/var
amtool MyConfig web1 www web2 www
amanda(8), amanda(8), amfetchdump(8), amrestore(8), amadmin(8), amvault(8), amflush(8), amdump(8)
The Amanda Wiki: : http://wiki.zmanda.com/
Dustin J. Mitchell <dustin@zmanda.com>
12/01/2017 | Amanda 3.5.1 |