Hallo,
also irgenwie hat es mich verlassen, bekomm es nicht in die Reihe hiermal das Script etwas länger:
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
#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
####################################################################################################################################
$DateiName = $DateiName; hier wird ein Parameter übergeben und zwar aus einer main.ini Datei
Gruss
Leissi