#!/usr/bin/perl use strict; use warnings; use time::localtime; use Data::Dumper; my $global_boolean = 1; 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 = ; 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"\n \n 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 "\n +++++++++++Backup vorhanden++++++++++++++ \n" . $bool . " Backupdatei gefunden "; print LogDatei $file . "\n \n" . @verzeichnisse . " Backupdateien im Verzeichnis " . $bkupDirectory . " vorhanden!"; print LogDatei "\n#############################################################\n"; } else { print LogDatei "Aktuelle Datei ist nicht vorhanden!\n"; $global_boolean = 0; } } } unless($global_boolean){ print "In mindestens einem Verzeichnis gab es kein aktuelles Backup\n"; } # Hier wird geprüft ob aktuelle Datei vorliegt oder nicht sub existsActBackup { my ($file,$max_age) = @_; my $tmpValue = 0; print LogDatei $tm; my $age = (time - (stat($file))[10]) / (60 * 60 * 24); if ($age < $max_age) { $tmpValue = 1; print LogDatei "Aktuelle Dateien vorhanden! \n"; print LogDatei "file stat($file)\n"; #print LogDatei "file2 $file \n"; } else { $tmpValue = 0; #print LogDatei "Keine aktuellen Dateien vorhanden! \n"; } return $tmpValue; } }