#Hauptprogramm Aufruf der einzelnen Sub_Routinen # Subroutinenaufruf der Prüfroutinen mit Rückgabewert ob Check OK oder NOK # Hier wird aus den einzelnen Prüfungen, die Ergebnisse übergeben und ausgewertet my $ReturnCode1 = &ResetQcDemoPJ; my $ReturnCode2 = &QcDemoPjRepository; my $ReturnCode3 = &Sqlrmi; my $ReturnCode4 = &SnapshotLics; my $pfgErgebnis1; print LogDatei "$ReturnCode1"; # Hier wird das Ergebnis ausgewertet if (($ReturnCode1 == 1) && ($ReturnCode2 == 1 ) && ($ReturnCode3 == 1) && ($ReturnCode4 == 1)) { my $returnCode = sendMail("1"); # Gesamtergebnis positiv print LogDatei '#' x 120, "\n"; print LogDatei ("INFO: ", "Die Z3S BackupKontrolle war erfolgreich!\n"); } else { my $returnCode = sendMail("0"); # Gesamtergebnis negativ print LogDatei '#' x 120, "\n"; print LogDatei ("ERROR", "Die Z3S BackupKontrolle war nicht erfolgreich! \n"); if ( $ReturnCode1 == 0) { print LogDatei ("ERROR: ", "Existenz aktueller reset_QcDemoPj.log: NOK\n"); } else { print LogDatei ("INFO: ", "Existenz aktueller reset_QcDemoPj.log: OK\n"); } if ( $ReturnCode2 == 0) { print LogDatei ("ERROR: ","Existenz aktueller Datei: reset_QcDemoPjRepository.log: NOK\n"); } else { print LogDatei ("INFO: ","Existenz aktueller Datei: reset_QcDemoPjRepository.log: OK\n"); } if ( $ReturnCode3 == 0) { print LogDatei ("ERROR: ","Existenz aktueller Datei: SQLRMI_SV040488_run_out.txt: NOK\n"); } else { print LogDatei ("INFO: ","Existenz aktueller Datei: SQLRMI_SV040488_run_out.txt: OK\n"); } if ( $ReturnCode4 == 0) { print LogDatei ("ERROR: ","Existenz aktueller Datei: SnapshotLics.log: NOK\n"); } else { print LogDatei ("INFO: ","Existenz aktueller Datei: SnapshotLics.log: OK\n"); } } #################################################################################################################################################### ##################################################################################################################### ##################################################################################################################### #Datei reset_QcDemoPJ.log wird geprüft #Hier wird die Datei in drei Einzelschritten geprüft. Die Prüfungen sind in Subroutinen ausgelagert. sub ResetQcDemoPJ { my $ResetQcDemoPJ = 0; # Hier wird das verzeichnis geöffnet und geprüft ob gesuchte Datei im Verzeichnis liegt. my $DateiName = $DateiName; my $verzeichnis = $SqlSrvJobs; if (existsFileInDirectory($DateiName, $verzeichnis)) { print LogDatei '#' x 120, "\n"; print LogDatei '#' x 120, "\n"; print LogDatei "Die Datei: $DateiName wurde im Verzeichnis: $verzeichnis gefunden!\n"; # 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" my @verzeichnisse = grep{-f $dir .'/'.$_}readdir(DIR); my $file = $SqlSrvJobs2; if(existsTimeStamp($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 $String = $String1; if (existsFileString ($file, $String)) { print LogDatei "Der Suchstring in der Datei wurde gefunden!! \n"; print LogDatei '+' x 120, "\n"; $ResetQcDemoPJ = 1; } else { print LogDatei "Der Suchstring in der Datei wurde nicht gefunden!! \n"; $ResetQcDemoPJ = 0; } } else { print LogDatei "Es besteht in dem Verzeichnis keine aktuelle Datei!\n"; $ResetQcDemoPJ = 0; } } else { $ResetQcDemoPJ = 0; print LogDatei "Die Datei: $DateiName1 wurde im Verzeichnis: $verzeichnis nicht gefunden!\n"; } ## Hier wird nach Durchlauf der Kontrolle ein Statment abgegeben wenn keine aktuellen Dateien vorhanden sind! unless($ResetQcDemoPJ) { print LogDatei "Prüfung abgebrochen, da eine der Prüfungen nicht OK war!! Bitte prüfen!!!\n"; } return $ResetQcDemoPJ # Hier wird der ermittelte Rückgabewert aus der Subroutine übergeben! } # End of: sub DATEI CHECK #close ResetQcDemoPJ ####################################################################################################################################