|< 1 2 >| | 11 Einträge, 2 Seiten |
Quote#!/usr/bin/perl
use strict;
use warnings;
use time::localtime;
use Data::Dumper;
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 = <IN>;
close(IN);
eval( join("\n", @par) );
# Flag, ob die Gesamtprüfung positiv ist.
# 0 = nein, d.h. In mindestens einem Fall war keine aktuelle Backup-Datei vorhanden.
# 1 = ja, d.h. es ware stets eine aktuelle Backup-Datei vorhanden.
my $global_boolean = 1;
#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';
# Nun wird für jedes TestDirector-Projekt überprüft, ob im
# Backup-Bereich des Servers ein aktuelles Backup vorliegt.
for (my $i = 0; $i <= $numberProjects; $i++)
{
my $bkupDirectory = $backupPath . "\\" . $pjDomain[$i] . "_" . $pjName[$i] . "_db";
print LogDatei "#######################################################################################################################\n";
print LogDatei " " . $tm . "\n \n Prüfe Existenz von " . $bkupDirectory . "\n";
print LogDatei "#######################################################################################################################\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)
{
if(existsActBackup($bkupDirectory.'/'.$file,1))
{
$bool = 1;
print LogDatei "\n################################################################################################################\n";
print LogDatei "\n ****************************Backup vorhanden***************************** \n" . $bool . " Backupdatei gefunden!\n";
print LogDatei $file . "\n \n" . @verzeichnisse . " Backupdateien im Verzeichnis " . $bkupDirectory . " vorhanden!" ;
print LogDatei "\n################################################################################################################\n";
}
else
{
#print LogDatei "--------------------------------------------------------------------------\n";
#print LogDatei " Aktuelle Datei ist nicht vorhanden!\n";
#print LogDatei "--------------------------------------------------------------------------\n";
}
}
if ($bool == 1)
{
print LogDatei "--------------------------------------------------------------------------\n";
print LogDatei "INFO : Es besteht in dem Verzeichnis mind. eine aktuelle Backupdatei!\n";
print LogDatei "--------------------------------------------------------------------------\n\n\n";
}
else
{
print LogDatei "************************************************************************************
**\n";
print LogDatei "**********ERROR: Es besteht in dem Verzeichnis keine aktuelle Backupdatei!************\n";
print LogDatei "************************************************************************************
**\n\n\n";
$global_boolean = 0;
}
# Hier wird geprüft ob aktuelle Datei vorliegt oder nicht
# return:
# 0 = Die überprüfte Datei ist nicht aktuell genug
# 1 = Die überprüfte Datei ist aktuell genug
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 " " . $tm . " 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;
}
}
}
## Hier wird nach Durchlauf der Kontrolle ein Statment abgegeben wenn Error auftrat!
unless($global_boolean)
{
print LogDatei "########################################################################################################################\n\n";
print LogDatei " ********** ERROR: Backup ist unvollständig !! Bitte prüfen!!! ************\n\n";
print LogDatei "########################################################################################################################\n";
print LogDatei "########################################################################################################################\n\n\n";
}
#########################################################################################################################
##########################################################################################################################
###########################################################################################################################
#!/usr/bin/perl
# Naechster Teil Überprüfung des Verzeichnisses OTA auf aktuelle Dateien wenn keine vorhanden wird ein Fehler ausgegeben!
#use strict;
#use time::localtime;
#use Data::Dumper;
# Flag, ob die Gesamtprüfung positiv ist.
# 0 = nein, d.h. In mindestens einem Fall war keine aktuelle OTA-Datei vorhanden.
# 1 = ja, d.h. es ware stets eine aktuelle OTA-Datei vorhanden.
$global_boolean = 1;
print LogDatei "\n##########################################################################################################################";
print LogDatei "\n##########################################################################################################################";
print LogDatei "\n##########################################################################################################################";
print LogDatei " $tm \n\n\n";
my $dir = '//sv040555.zitd.global.commerzbank.com//D$//Log//TestDirector//OTAScripting';
opendir(DIR,$dir) or die $!; # Verzeichnis "öffnen"
my @verzeichnisse = grep{-f $dir .'/'.$_}readdir(DIR);
my $bool = 0;
for my $file(@verzeichnisse)
{
if(existsActBackup($dir.'/'.$file,1))
{
$bool = 1;
print LogDatei "\n--------------------------------------------------------------------------------------
--------------------------\n";
print LogDatei "\n ----------------------------OTA Dateien vorhanden----------------------------- \n" . $bool . " OTA-Dateien gefunden!\n";
print LogDatei $file . "\n \n" . @verzeichnisse . " Backupdateien im Verzeichnis " . $dir . " vorhanden!" ;
print LogDatei "\n--------------------------------------------------------------------------------------
---------------------------\n";
}
else
{
#print LogDatei "--------------------------------------------------------------------------\n";
#print LogDatei " Aktuelle OTA-Datei ist nicht vorhanden!\n";
#print LogDatei "--------------------------------------------------------------------------\n";
}
}
if ($bool == 1)
{
print LogDatei "\n############################################################################################\n";
print LogDatei "--------------------------------------------------------------------------\n";
print LogDatei "INFO : Es besteht in dem Verzeichnis mind. eine aktuelle OTA-Dateien!\n";
print LogDatei "--------------------------------------------------------------------------\n";
print LogDatei "\n############################################################################################\n";
}
else
{
print LogDatei "--------------------------------------------------------------------------\n";
print LogDatei "ERROR: Es besteht in dem Verzeichnis keine aktuelle OTA-Dateien!\n";
print LogDatei "--------------------------------------------------------------------------\n";
#$global_booleans = 0;
}
# Hier wird geprüft ob aktuelle Datei vorliegt oder nicht
# return:
# 0 = Die überprüfte Datei ist nicht aktuell genug
# 1 = Die überprüfte Datei ist aktuell genug
sub existsActOTA
{
my($file,$max_age) = @_;
my $tmpValue = 0;
my $age = (time - (stat($file))[10]) / (60 * 60 * 1);
if ($age < $max_age)
{
$tmpValue = 1;
print LogDatei " " . $tm . " Aktuelle OTA-Dateien im Ordner OTA vorhanden! \n";
print LogDatei "file stat($file)\n";
}
else
{
$tmpValue = 0;
# print LogDatei "Keine aktuellen Dateien vorhanden! \n";
}
return $tmpValue;
}
## Hier wird nach Durchlauf der Kontrolle ein Statment abgegeben wenn keine aktuellen Dateien vorhanden sind!
unless($global_boolean)
{
print LogDatei "########################################################################################################################\n\n";
print LogDatei " ********** ERROR: OTA-Dateiverzeichnis ist unvollständig !! Bitte prüfen!!! ************\n\n";
print LogDatei "########################################################################################################################\n";
print LogDatei "########################################################################################################################\n\n\n";
}
###############################################################################################################################
#Überprüfung LogDatei
# Flag, ob die Gesamtprüfung positiv ist.
# 0 = nein, d.h. In mindestens einem Fall war keine aktuelle Backup-Datei vorhanden.
# 1 = ja, d.h. es ware stets eine aktuelle Backup-Datei vorhanden.
$global_boolean = 1;
my $dir1 = '//sv040555.zitd.global.commerzbank.com//D$//Backup//MSSQL//TRN//ztb_treasurycockpit_db';
opendir(DIR,$dir1) or die $!; # Verzeichnis "öffnen"
my @verzeichnisse1 = grep{-f $dir1 .'/'.$_}readdir(DIR);
$bool = 0;
for my $file(@verzeichnisse1)
{
if(existsActLOG($dir1.'/'.$file,1))
{
$bool = 1;
print LogDatei "\n--------------------------------------------------------------------------------------
--------------------------\n";
print LogDatei "\n ----------------------------LOG Dateien vorhanden----------------------------- \n" . $bool . " LOG-Dateien gefunden!\n";
print LogDatei $file . "\n \n" . @verzeichnisse1 . " LOG-Dateien im Verzeichnis " . $dir1 . " vorhanden!" ;
print LogDatei "\n--------------------------------------------------------------------------------------
---------------------------\n";
}
else
{
#print LogDatei "--------------------------------------------------------------------------\n";
#print LogDatei " Aktuelle Datei ist nicht vorhanden!\n";
#print LogDatei "--------------------------------------------------------------------------\n";
}
}
if ($bool == 1)
{
print LogDatei "--------------------------------------------------------------------------\n";
print LogDatei "INFO : Es besteht in dem Verzeichnis mind. eine aktuelle LOG-Dateien!\n";
print LogDatei "--------------------------------------------------------------------------\n";
}
else
{
print LogDatei "--------------------------------------------------------------------------\n";
print LogDatei "ERROR: Es besteht in dem Verzeichnis keine aktuelle LOG-Dateien!\n";
print LogDatei "--------------------------------------------------------------------------\n";
$global_boolean = 0;
}
unless($global_boolean)
{
print LogDatei "--------------------------------------------------------------------------\n";
print LogDatei "ERROR: LOG-Dateien unvollständig !!!!!\n";
print LogDatei "--------------------------------------------------------------------------\n";
print LogDatei "\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++\n";
print LogDatei "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++\n\n\n";
}
# Hier wird geprüft ob aktuelle Datei vorliegt oder nicht
# return:
# 0 = Die überprüfte Datei ist nicht aktuell genug
# 1 = Die überprüfte Datei ist aktuell genug
sub existsActLOG
{
my ($file,$max_age) = @_;
my $tmpValue = 0;
#print LogDatei $tm ;
my $age = (time - (stat($file))[10]) / (60 * 60 * 1);
if ($age < $max_age)
{
$tmpValue = 1;
print LogDatei " " . $tm . " 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;
}
exit
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
#!/usr/bin/perl -w
use strict;
use Data::Dumper;
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 = <IN>;
close(IN);
eval( join("\n", @par) );
# Flag, ob die Gesamtprüfung positiv ist.
# 0 = nein, d.h. In mindestens einem Fall war keine aktuelle Backup-Datei vorhanden.
# 1 = ja, d.h. es ware stets eine aktuelle Backup-Datei vorhanden.
my $global_boolean = 1;
#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';
# Nun wird für jedes TestDirector-Projekt überprüft, ob im
# Backup-Bereich des Servers ein aktuelles Backup vorliegt.
for my $i (0 .. $numberProjects) {
my $bkupDirectory = "$backupPath\\$pjDomain[$i]_$pjName[$i]_db";
print LogDatei '#' x 130, "\n";
print LogDatei " $tm\n\nPrüfe Existenz von $bkupDirectory\n";
print LogDatei '#' x 130, "\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) {
if(existsActBackup($bkupDirectory.'/'.$file,1)) {
$bool = 1;
print LogDatei '#' x 130, "\n";
print LogDatei '#' x 30, "Backup vorhanden", '#' x 30, "$bool Backupdatei gefunden!\n";
print LogDatei "$file\n\n", @verzeichnisse, " Backupdateien im Verzeichnis $bkupDirectory vorhanden!\n";
print LogDatei '#' x 130, "\n";
} else {
#print LogDatei '-' x 80, "\n";
#print LogDatei " Aktuelle Datei ist nicht vorhanden!\n";
#print LogDatei '-' x 80, "\n";
}
}
if ($bool == 1) {
print LogDatei '-' x 80, "\n";
print LogDatei "INFO : Es besteht in dem Verzeichnis mind. eine aktuelle Backupdatei!\n";
print LogDatei '-' x 80, "\n";
} else {
print LogDatei '*' x 130, "\n";
print LogDatei '*' x 10, "ERROR: Es besteht in dem Verzeichnis keine aktuelle Backupdatei!", '*' x 10, "\n";
print LogDatei '*' x 130, "\n";
$global_boolean = 0;
}
}
}
## Hier wird nach Durchlauf der Kontrolle ein Statment abgegeben wenn Error auftrat!
unless($global_boolean) {
print LogDatei '*' x 130, "\n\n";
print LogDatei ' #' x 6, " ERROR: Backup ist unvollständig !! Bitte prüfen!!! ", ' #' x 6, "\n\n";
print LogDatei '*' x 130, "\n";
print LogDatei '*' x 130, "\n\n\n";
}
# Hier wird geprüft ob aktuelle Datei vorliegt oder nicht
# return:
# 0 = Die überprüfte Datei ist nicht aktuell genug
# 1 = Die überprüfte Datei ist aktuell genug
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 " $tm Aktuelle Dateien vorhanden!\n";
print LogDatei "file stat($file)\n";
#print LogDatei "file2 $file\n";
} else {
#$tmpValue = 0; diese Zuweisung ist nicht notwendig, da $tmpValue mit 0 definiert wird
#print LogDatei "Keine aktuellen Dateien vorhanden!\n";
}
return $tmpValue;
}
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
my $id = 23;
my $name = "foo";
my $data = get_data_from_db($id, $foo);
my $items = get_other_data($id);
my $new_data = merge($data, $items);
sub get_data_from_db {
my ($id, $name) = @_;
# some checks on $id and $name
# database conncetion
# prepare
# get rows
# do something with rows
# ...
return $result;
}
sub get_other_data {
# long subroutine...
}
sub merge {
# long subroutine...
}
Quote{
open FILE,'<',"$file";
local $/;
my $cfile = <FILE>;
}
Quotedas mag jeder handhaben, wie er möchte.
Quotees gibt proggis, die nutzen aus
performancegründen überhaupt keine subs.
Quote[quote=pq,05.01.2006, 18:38]eine subroutine sollte am besten in ein fenster passen, idealerweise in ein standard-xterm 80x24. =)
Quote{
open FILE,'<',"$file";
local $/;
my $cfile = <FILE>;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
sub print1 { print NULL "hallo"; }
sub print2 { print NULL " pq "; }
sub print3 { print NULL ":-)\n"; }
open NULL,'>>','/dev/null';
Benchmark::cmpthese(-1, {
'mit subs' => sub { print1(); print2(); print3(); },
'ohne subs' => sub { print NULL "hallo"; print NULL " pq "; print NULL ":-)\n"; }
});
close NULL;
Rate mit subs ohne subs
mit subs 558545/s -- -68%
ohne subs 1754392/s 214% --
Quotehmm... perl best practies ist kein standard, sondern nur ein vorschlag, wie
man es besser machen könnte.
Quote[sinnloser benchmark]
Quoteich bin ja auch nur der überzeugung, dass man das jedem selbst überlassen
sollte.
|< 1 2 >| | 11 Einträge, 2 Seiten |