Hallo,hier das Script:
#!/usr/bin/perl
use strict;
use warnings;
use time::localtime;
use Data::Dumper;
my $ausgabe_Datei = "backupCheck.txt";
open(LogDatei, ">backupCheck.txt") or die "Kann Log Datei nicht anlegen : $!";
my $tm = localtime;
print LogDatei " $tm \n\n\n";
my $parameterFile = "input/Main.cfg";
open(IN, $parameterFile) || die "Paramterfile $parameterFile nicht gefunden!";
my @par = <IN>;
close(IN);
eval( join("\n", @par) );
#wird erst später aus DOMS.mdb ermittelt, vorerst wird mit Hardcodierten Werten gearbeitet
my (@pjDomain,@pjName);
$pjDomain[0] = "ZITA_PKM";
$pjName [0] = "Phoenix";
$pjDomain[1] = "ZITA_ATF";
$pjName [1] = "ZITA_522";
$pjDomain[2] = "ZITA_ATF";
$pjName [2] = "TLA";
my $numberProjects = $#pjName;
my $backupPath = 'H:\\Perl\\BackupCheck\\_backup';
for (my $i = 0; $i <= $numberProjects; $i++){
my $bkupDirectory = $backupPath . "\\" . $pjDomain[$i] . "_" . $pjName[$i] . "_db";
print LogDatei"Prüfe Existenz von " . $bkupDirectory . "\n";
if ( -e $bkupDirectory ) {
print LogDatei "Verzeichnis ist vorhanden!\n";
opendir(DIR,$bkupDirectory) or die "Kann $bkupDirectory nicht öffnen: $!\n";
my @verzeichnisse = grep{-f $bkupDirectory.'/'.$_}readdir(DIR);
my $bool = 0;
for my $file(@verzeichnisse){
$bool = 1 if(existsActBackup($bkupDirectory.'/'.$file,1));
}
}
{
print LogDatei "Backup vorhanden\n" if($bool);
print LogDatei $_,"\n" for(@verzeichnisse);
closedir DIR;
}else {
print LogDatei "Verzeichnis ist nicht vorhanden!\n";
# LOG: Fehlermeldung ausweisen.
}
sub existsActBackup {
my ($file,$max_age) = @_;
my $tmpValue = 0;
print LogDatei time ;
print LogDatei "file stat($file)\n";
print LogDatei "file2 $file \n";
my $age = (time - (stat($file))[10]) / (60 * 60 * 24);
if ($age < $max_age) {
$tmpValue = 1;
} else {
$tmpValue = 0;
}
return $tmpValue;
}
Bein Ablauf kommt folgende Hinweise:
Global symbol "$bool" requires explicit package name at H:\PERL\BACKUPCHECK\T1.pl line 55.
Global symbol "@verzeichnisse" requires explicit package name at H:\PERL\BACKUPCHECK\T1.pl line 56.
syntax error at H:\PERL\BACKUPCHECK\T1.pl line 58, near "}else"
Missing right curly or square bracket at H:\PERL\BACKUPCHECK\T1.pl line 104, at end of line
Execution of H:\PERL\BACKUPCHECK\T1.pl aborted due to compilation errors.
Kann mir jemand sagen wo der Fehler liegt?!
Gruss
Leissi
Datum: 06.12.2005-08:17
