##################################################################################################################### # 1 Block #reset_QcDemoPJ.log sub DateiCheck { my $DateiCheck = 0; # Hier wird das verzeichnis geöffnet und geprüft ob gesuchte Datei im Verzeichnis liegt. my $datei; ####Hier soll die Subroutine das Ergebnis übergeben#### if (existsFileInDirectory) { print "Datei gefunden"; } else { print "Datei nicht gefunden"; } #############Ende########## # Hier wird die Datei auf aktuelles Datum geprüft. Ergebnis wird dann ausgegeben. print LogDatei ("INFO : ","Der Zeitstempel der Datei wird geprüft!\n"); my $dir = $SqlSrvJobs; opendir(DIR,$dir) or die $!; # Verzeichnis "öffnen" #print LogDatei $dir; my @verzeichnisse = grep{-f $dir .'/'.$_}readdir(DIR); for my $file(@verzeichnisse) { my $file = $SqlSrvJobs2; if(existsGlobalCheck($file,24)) { # Wenn Datei im Verzeichnis vorhanden, dann prüfen ob Suchstring in der Datei enthalten ist. print LogDatei "Die Datei: " . $file . " wurde im Verzeichnis gefunden und hat ein aktuelles Datum!\n"; print LogDatei '+' x 120, "\n"; print LogDatei "Die Datei: " . $file . " wird gelesen und geprüft!\n"; my $file = $SqlSrvJobs2; my $check = ' xxxxxxxx'; open (IN, $file) || die "File kann nicht geoeffnet werden !\n"; open my $fh,'<',$file or die $!; while( my $line = <$fh> ) { if( $line =~ m/\Q$check\E/i) { $DateiCheck = 1; last; } } if ($DateiCheck == 1) { print LogDatei "Der Suchstring in der Datei wurde gefunden!! \n"; print LogDatei '+' x 120, "\n"; } else { print LogDatei "Der Suchstring in der Datei wurde nicht gefunden!! \n"; } } else { print LogDatei "Es besteht in dem Verzeichnis keine aktuelle Datei!\n"; $DateiCheck = 0; } ## Hier wird nach Durchlauf der Kontrolle ein Statment abgegeben wenn keine aktuellen Dateien vorhanden sind! unless($DateiCheck) { print LogDatei "Prüfung abgebrochen, da eine der Prüfungen nicht OK war!! Bitte prüfen!!!\n"; } return $DateiCheck # Hier wird der ermittelte Rückgabewert aus der Subroutine übergeben! } } # End of: sub DATEI CHECK #close DateiCheck #################################################################################################################################### ########################################################################################################################### #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Subroutine existsFileInDirectory # Diese Routine überprüft, ob eine Datei in einem Verzeichnis existiert. # Parameter: # - Name der Datei # - Name des Verzeichnisses # # Rückgabewerte: # 1 = Die Datei existiert in dem Verzeichnis # 0 = Die Datei existiert nicht in dem Verzeichnis sub existsFileInDirectory { my $datei; my $Ergebnis = 0; my $verzeichnis = $SqlSrvJobs; opendir VH, $verzeichnis or die "Kann $verzeichnis nicht oeffnen: $!"; foreach $datei (readdir VH) { next unless $datei =~ /reset_QcDemoPj.log$/; if ($datei) { $Ergebnis = 1; print LogDatei '#' x 120, "\n"; print LogDatei '#' x 120, "\n"; print LogDatei "Die Datei: $datei wurde im Verzeichnis: $verzeichnis gefunden!\n"; } else { $Ergebnis = 0; print LogDatei "Die Datei: $datei wurde im Verzeichnis: $verzeichnis nicht gefunden!\n"; } } return $Ergebnis; }