Amrecover: wildcard characters in filenames

From wiki.zmanda.com
Revision as of 23:18, 22 May 2007 by Dustin (talk | contribs) (reformat, use header template)
Jump to navigation Jump to search



This article is a part of the Troubleshooting collection.

Problem

If you have backed up files with wildcard characters as part of the filename, and you are using gnutar as part of your Amanda backup process, you may notice that you can no longer pull the files out. The symptoms are:

 amrecover> add *asid=\[101\]*
 Added /joe_asid=[101].gz
 amrecover> extract
 Extracting files using tape drive /dev/nst0 on  host amandahost.example.com.
 The following tapes are needed: big1
 Restoring files into directory /tmp
 Continue? [Y/n]: y
 Load tape big1 now
 Continue? [Y/n]: y
 tar: ./joe_asid=[101].gz: Not found in archive
 tar: Error exit delayed from previous errors

Solution

The solution can be one of a number of things:

1. Try to make gnutar treat wildcard characters (like [ and ] and *) as normal characters. I'm not sure this is possible, and I haven't tried.

2. Edit the amrecover source code to make it escape wildcard characters.

3. Use amrestore instead of amrecover so that you can escape the filenames you're interested in, e.g.:

 $ mt -f /dev/nst0 rewind
 $ amrestore -p /dev/nst0 \
    client1.example.com \
    '/backed/up/directory$' | tar -xpvf - './joe_asid=\[101\].gz'

See also Amrestore: "$" character in the filename to be restored