Anthony Valentine wrote:
Hello everyone!
I am having an odd issue with amverify and amrecover and am wondering if
anyone can tell me why?
Using 2.5.0b2 (upgraded from 2.4.2), the amdump seems to run fine,
without any errors in the status e-mail, but I am getting some strange
output when running amverify and amrecover.
These two issues have now been fixed! I am posting the solution to the
list so that it hits the archive and can help others with the same issues.
The amverify problem was solved with this patch from Kevin Till:
--- amverify.sh.in 24 Feb 2006 04:44:59 -0000 1.35
+++ amverify.sh.in 15 Mar 2006 23:56:47 -0000
@@ -460,6 +460,9 @@
elif [ -n "$EOF" ]; then
report "End-of-Tape detected."
break
+ elif [ -n "$EOI" ]; then
+ report "End-of-Information detected."
+ break
else
report "** Error detected ($FILE)"
echo "$VOLUME ($FILE):" >>$DEFECTS
The amrecover problem was solved with this patch from John Franks:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/amanda/amanda/ChangeLog,v
retrieving revision 1.1595
diff -r1.1595 ChangeLog
0a1,6
> 2006-03-06 John Franks <[EMAIL PROTECTED]>
> * recover-src/extract_list.c:
> 1) Don't add '.' directory twice to tar extract list.
> 2) Don't prepend extra '/' to extract patterns starting with '/'.
> 3) Convert "/" extract pattern to "*" equivalent.
>
Index: recover-src/extract_list.c
===================================================================
RCS file: /cvsroot/amanda/amanda/recover-src/extract_list.c,v
retrieving revision 1.95
diff -r1.95 extract_list.c
482,484c482,495
< if (strcmp(disk_path, "/") == 0)
< path_on_disk = stralloc2("/", regex);
< else {
---
> if (strcmp(disk_path, "/") == 0) {
> if (*regex == '/') {
> if (strcmp(regex, "/[/]*$") == 0) {
> /* We want '/' to match everything in directory... */
> path_on_disk = stralloc("/[^/]*[/]*$");
> } else {
> /* No mods needed if already starts with '/' */
> path_on_disk = stralloc(regex);
> }
> } else {
> /* Prepend '/' */
> path_on_disk = stralloc2("/", regex);
> }
> } else {
1550c1561,1562
< restore_args[j++] = stralloc2(".", fn->path);
---
> else
> restore_args[j++] = stralloc2(".", fn->path);
Thanks everyone, for all your help!
--
Anthony Valentine
Asst. I.T. Manager
Spenard Builders Supply
UNIX was not designed to stop you from doing stupid things, because that
would also stop you from doing clever things.