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