#************************************************************************************ #* Backup-Kontrolle TestDirector #************************************************************************************ # noch offen # Logfilname soll Timestamp enthalten # *********************************************************************************** # #################################################### # **** # H A U P T S T E U E R U N G **** # **** # #################################################### # #################################################### # Erzeugen der Log-Datei mit Zeitstempel ###################################################### my $ausgabe_Datei = "log3.txt"; open LogDatei, ">>backupCheck.txt" || die "Kann Log Datei nicht anlegen : $!"; use time::localtime; $tm = localtime; print LogDatei " $tm \n\n\n"; # #################################################### # parameter und funktion fuer das script einlesen ###################################################### $parameterFile = "input/Main.cfg"; open(IN, $parameterFile) || die "Paramterfile $parameterFile nicht gefunden!"; @par = ; close(IN); eval( join("\n", @par) ); # #################################################### #Ermittlung der aktuellen TestDirector-projekte ###################################################### #use cwd; #use time::localtime; #use strict; #use strict; #use warnings; use Data::Dumper; #wird erst später aus DOMS.mdb ermittelt, vorerst wird mit Hardcodierten Werten gearbeitet $pjDomain[0] = "ZITA_PKM"; $pjName [0] = "Phoenix"; $pjDomain[1] = "ZITA_ATF"; $pjName [1] = "ZITA_522"; $pjDomain[2] = "ZITA_ATF"; $pjName [2] = "TLA"; $numberProjects = $#pjName; for ($i = 0; $i <= $numberProjects; $i++){ $bkupDirectory = $backupPath . "\\" . $pjDomain[$i] . "_" . $pjName[$i] . "_db"; print LogDatei"Prüfe Existenz von " . $bkupDirectory . "\n"; if ( &existsFile($bkupDirectory) == 1 ) { print LogDatei "Verzeichnis ist vorhanden!\n"; # nächste Prüfung: Inhalt innerhalb ... # Prüfe mit der Subroutine 'existsActBackup', ob für das Verzeichnis eine Bkup-Datei existiert, die jünger als der Zeitraum. # wenn 'ja' ist alles ok # wenn 'nein', dann Eintrag in Log-Datei $tmpValue = 0; my $dir = $bkupDirectory; opendir(DIR,$dir) or die "Kann das angegebene Verzeichnis nicht öffnen: $!\n"; my @verzeichnisse = grep{-f $dir.'/'.$_}readdir(DIR); print LogDatei $_,"\n" for(@verzeichnisse); #closedir DIR; ### Das ist die Routine die prüfen soll ob Dateien aktuell mit Datum heute oder 1 Tag zurück sind! sub existsActBackup { if (-C $_ <= @_[1]) { $tmpValue = 1; } else { $tmpValue = 0; } $rValue = $tmpValue } print LogDatei $_,"\n" for(@verzeichnisse); } else { print LogDatei "Verzeichnis ist nicht vorhanden!\n"; # LOG: Fehlermeldung ausweisen. } } # #################################################### # **** # S U B R O U T I N E N **** # **** # #################################################### # existsFile # ---------------------------------------------------- # Diese Routine prüft, ob eine übergebene Datei, auch # ein Verzeichnis existiert. # wenn 'ja', dann gibt die Routine die Zahl 1 zurück # wenn 'nein', dann die Zahl 0 # ---------------------------------------------------- sub existsFile { $tmpValue = 0; if (-e @_[0]){ $tmpValue = 1; } else { $tmpValue = 0; } $rValue = $tmpValue }