Hallo,
folgendes Script läuft soweit nur checkt ernicht richtig ob aktuelle Dateien heisst das er checken soll ob aktuelle dateien vorhanden sind sprich tagesgültig und ein Tag zurück!
Kann mir einer helfen???
Script:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#************************************************************************************
#* 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 = <IN>;
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
}
edit renee: ne Runde [code]-Tags spendiert...\n\n
<!--EDIT|renee|1126075942-->