Thread Expliziten Wert aus Datei prüfen ob vorhanden! (14 answers)
Opened by leissi at 2007-03-13 16:52

leissi
 2007-03-19 09:41
#75032 #75032
User since
2005-07-06
84 Artikel
BenutzerIn
[default_avatar]
Hilfe bin am verzweifeln. Habe dieses Script geschrieben, ist noch nicht verfeinert aber er kann den Suchstring in der Datei finden. Aber er findet im angegebenen Verzeichnis keine aktuelle Datei, obwohl heute  früh aktuelle Dateien in das Verzeichnis stehen.

Kann mir einer sagen was ich falsch mache!!!!

Code: (dl )
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
 ############################################################################################

# 3 Block hier werden die Transactionlog-Dateien geprüft
 sub runSqlTrnCheck
   {
     #Überprüfung LogDatei-Verzeichnis

       
     
     # Flag, ob die Gesamtprüfung positiv ist.
     # 1 = nein, d.h. In mindestens einem Fall war keine aktuelle Backup-Datei vorhanden.
     # 0 = ja, d.h. es war stets eine aktuelle Log-Datei vorhanden.
     my $runSQLTrnCheck = 1;
     
     &printLogEntry ("INFO","Verzeichnischeck beginnt");  
     
     my $dir = '\\\\XXXXXXX\\f$\\Log\\MSSQL$XXXXXX\\SqlSrvJobs';
     opendir(DIR,$dir) or die $!; # Verzeichnis "öffnen"  
     print LogDatei $dir;
     my @verzeichnisse1 = grep{-l $dir .'/'.$_}readdir(DIR);
     my $bool_runSqlTrnCheck = 0; #0 = Nein
     for my $file(@verzeichnisse1)        
       {       
         if(existsActBackup($dir.'/'.$file,1))
           {    
              $bool_runSqlTrnCheck = 1;  #1 = Ja
              &printLogEntry ("DEBUG","LOG Dateien vorhanden" . $bool_runSqlTrnCheck . " LOG-Dateien gefunden!");
               &printLogEntry ("DEBUG", $file . @verzeichnisse1 . " LOG-Dateien im Verzeichnis " . $dir . " vorhanden!");
           }
           
        }
          if ($bool_runSqlTrnCheck == 1) # 1= Ja
            {
               &printLogEntry ("INFO","Es besteht in dem Verzeichnis mind. eine aktuelle LOG-Dateien!");
            }
          else      
            {
              &printLogEntry ("ERROR", "Es besteht in dem Verzeichnis" . $dir . "keine aktuelle LOGdatei!");
              $runSQLTrnCheck = 0;
            }
          unless($runSQLTrnCheck)
            {
              &printLogEntry ("ERROR", "LOG-Dateien unvollständig !!!!!");
            }
            else
           {
             &printLogEntry ("ERROR","Das zu prüfende Verzeichnis wurde nicht gefunden! Bitte prüfen!!");
             $runSQLTrnCheck = 0;
           }  # end of: if ( -e $bkupDirectory )
     return $runSQLTrnCheck   # Hier wird der ermittelte Rückgabewert aus der Subroutine übergeben!  
                       
   }# End of: sub runSqlTrnCheck  
   
 
 
#***************************  
# ++++++++++++++++SubRoutinen++++++++++++++++++++++++++++

# Subroutine1 BackupCheck-Zeitstempel

# 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;
        &printLogEntry ("INFO","Aktuelle Dateien vorhanden!");
        &printLogEntry ("INFO","file  stat($file)");
      }
    else
      {  
        $tmpValue = 0;    
      }  
    return $tmpValue;
  };
\n\n

<!--EDIT|leissi|1174290123-->

View full thread Expliziten Wert aus Datei prüfen ob vorhanden!