AMANDA-MATCH(7)

πŸ’– NAME πŸ’–

amanda-match β€” Common Amanda Match Expression πŸ’…

🌸 DESCRIPTION 🌸

okay so bestie, several Amanda commands let you specify dumps using β€œmatch expressions” ✨ and this page is literally the syntax guide for those expressions.

In some places, only certain match expressions are allowed. But a bunch of commands take a dump specification (β€œdumpspec”) made 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. Both formats are described below πŸ‘‡

You can disable an expression by putting the = character in front of it β€” in that case, an exact match is used. Many programs also have an --exact-match argument that disables expressions and uses exact matching instead πŸŽ€

πŸ¦‹ HOST & DISK EXPRESSIONS πŸ¦‹

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 ^ or on the right with $. 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 disk ("\\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 (.) β€” 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 separator
  • [...] β€” match exactly one of the characters enclosed by the brackets
  • [!...] β€” match exactly one character that is not enclosed by the brackets

✨ Examples ✨

  • hosta β€” Will match hosta, foo.hosta.org, and hoSTA.dOMAIna.ORG but not hostb.
  • host β€” Will match host but not hosta.
  • host? β€” Will match hosta and hostb, but not host or hostabc.
  • ho*na β€” Will match hoina but not ho.aina.org.
  • ho**na β€” Will match hoina and ho.aina.org.
  • ^hosta β€” Will match hosta but not foo.hosta.org.
  • sda* β€” Will match /dev/sda1 and /dev/sda12.
  • /opt β€” 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.
  • /usr β€” Will match the disks /usr and /usr/local.
  • /usr$ β€” Will match the disks /usr but not /usr/local.
  • share β€” Will match the disks \\windows1\share and \\windows2\share.
  • share* β€” Will match the disks \\windows\share1 and \\windows\share2.
  • //windows/share β€” Will match the disk \\windows\share.

πŸŽ€ DATESTAMP EXPRESSIONS πŸŽ€

A datestamp expression is either a prefix of the datestamp, or a range expression (separated by -) matching several prefixes. A leading ^ is removed, while a trailing $ will force an exact match ⏰

🌈 Examples 🌈

  • 20001212-14 β€” match all dates beginning with 20001212, 20001213 or 20001214
  • 20001212-4 β€” same as previous
  • 20001212-24 β€” match all dates between 20001212 and 20001224
  • 2000121 β€” match all dates that start with 2000121 (20001210-20001219)
  • 2 β€” match all dates that start with 2 (20000101-29991231)
  • 2000-10 β€” match all dates between 20000101-20101231
  • 200010$ β€” match only 200010

πŸ’… LEVEL EXPRESSIONS πŸ’…

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 πŸ”₯

πŸ”₯ DUMP SPECIFICATIONS πŸ”₯

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 πŸ‘‘

πŸ“ Examples πŸ“

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)

πŸ‘‘ DLE SPECIFICATIONS πŸ‘‘

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 it does exactly what is expected πŸ¦‹

⭐ Examples ⭐

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.

🫢 SEE ALSO 🫢

amanda(8), amanda(8), amfetchdump(8), amrestore(8), amadmin(8), amvault(8), amflush(8), amdump(8)

The Amanda Wiki: : http://wiki.zmanda.com/

πŸ’œ AUTHOR πŸ’œ

Dustin J. Mitchell <dustin@zmanda.com>

Zmanda, Inc. (http://www.zmanda.com)

xoxo πŸ’– β€” from Amanda 3.5.4, dated 07/23/2025, page AMANDA-MATCH(7) (that’s the footer, bestie, not a copy-paste πŸ‘‘)

πŸ“¦ where this page comes from
  • fedora 43: amanda 3.5.4-17.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later AND GPL-2.0-or-later AND GPL-2.0-only
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms