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.
word separator for a host
word separator for a disk
word separator for a UNC disk
anchor at left of word
anchor at right of word
match exactly one character except the separator
match zero or more characters except the separator
match zero or more characters including the
match exactly one of the characters enclosed by the
match exactly one character that is not enclosed by the
Will match hosta, foo.hosta.org, and hoSTA.dOMAIna.ORG
but not hostb.
Will match host but not hosta.
Will match hosta and hostb, but not host or
Will match hoina but not ho.aina.org.
Will match hoina and ho.aina.org.
Will match hosta but not foo.hosta.org.
Will match /dev/sda1 and /dev/sda12.
Will match the disk opt but not the host opt.
(note dots:) .opt.
Will match the host opt but not the disk opt.
Will match the disk / but no other disk.
Will match the disks /usr and /usr/local.
Will match the disks /usr but not /usr/local.
Will match the disks \\windows1\share and
Will match the disks \\windows\share1 and
Will match the disk \\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.
match all dates beginning with 20001212, 20001213 or
same as previous
match all dates between 20001212 and 20001224
match all dates that start with 2000121
match all dates that start with 2
match all dates between 20000101-20101231
match only 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$
all dumps of host "vpdesktop"
amtool MyConfig '*' /var/stage
All dumps of /var/stage on any host
amtool MyConfig www1 /var/www '*' www2 /var/www '*'
All dumps of /var/www on www1 and www2 (assuming amtool
does not require a level argument)
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
(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
/home/anderson on host vpdesktop
amtool MyConfig '*' ^/etc '*' ^/var
All DLEs matching ^/var or ^/etc on any host
amtool MyConfig web1 www web2 www
If no host matches "www", all DLEs matching www
on hosts web1 and web2. If a host matches "www", then all DLEs on
hosts www, web1, and web2.
The Amanda Wiki: : http://wiki.zmanda.com/
Dustin J. Mitchell
Zmanda, Inc. (http://www.zmanda.com)