--- foxridge-archiver/archivecheck.pl 2004/11/30 12:39:51 1.2 +++ foxridge-archiver/archivecheck.pl 2007/03/21 14:21:01 1.6 @@ -16,7 +16,7 @@ $|=1; # # program version -my $version = "0.4 (30.11.2004)"; +my $version = "0.4.3 (21.3.2007 ROC)"; # read command line parameters my $args = parseargs; @@ -29,8 +29,6 @@ my $namespace = ""; # archive name (archive-path element, usually == $docdir) my $archname; -# archive storage date -my $archdate; ####################################################### @@ -126,7 +124,10 @@ sub read_resource_meta { my $name = sstrip($fn->findvalue('child::name')); my $path = sstrip($fn->findvalue('child::path')); logger("DEBUG", "DIR: ($path)$name"); - my $f = ($path) ? "$path/$name" : "$name"; + my $f = "$name"; + if (($path)&&($path ne '.')) { + $f = "$path/$name"; + } $files{$f} = [$name]; } @@ -204,6 +205,7 @@ sub run_query { $archcmd .= " -description='$archname'"; $archcmd .= " '$dirquery'"; + logger('INFO', "querying TSM server for $dirquery, please wait..."); my $archcnt = 0; print LOG "CMD: $archcmd\n"; if (open ARCH, "$archcmd 2>&1 |") { @@ -322,8 +324,8 @@ sub compare_files { logger("ERROR", "archived $ft ($atime) is older than file on disk ($ftime)!"); $errcnt++; } else { - logger("ERROR", "archived file $ft still on disk"); - $errcnt++; + logger("WARNING", "archived file $ft still on disk"); + $warncnt++; } } else { logger("ERROR", "file on disk '$ft' is not in archive!"); @@ -342,7 +344,7 @@ logger("INFO", "archivecheck $version"); # make shure the right user is running this program my $user = getlogin; -if (($user ne "archive")&&($user ne "root")) { +if (not (($user eq "archive")||($user eq "root"))) { logger("ABORT", "you must be archive or root user to run this program!"); exit 1; } @@ -399,6 +401,7 @@ logger("INFO", "$warncnt warnings"); logger("INFO", "$errcnt errors"); if ($errcnt == 0) { logger("DONE", "" . (scalar keys %archived_files) . " archived files OK"); + exit 0; } else { logger("ABORT", "there were $errcnt errors!!"); exit 1;