Schrift
[thread]7225[/thread]

Aktuelle Datei aus einem Ordner filter: Prüfen ob aktuelle Dateien im Ordner



<< >> 7 Einträge, 1 Seite
leissi
 2005-08-23 14:37
#57349 #57349
User since
2005-07-06
84 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich schreibe an einer Prüfroutine die mir aus einem bestimmten Verzeichnis die Dateien filtert die nicht älter als 1 Tag sind!

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
$bkupDirectory = " Pfad wo Datei liegt"; 
$backupAge = 1;

print &existsActBackup($bkupDirectory, $backupAge);




# existsActBackup
# ----------------------------------------------------
# Diese Routine prüft, ob ...

# wenn 'ja', dann gibt die Routine die Zahl 1 zurück
# wenn 'nein', dann die Zahl 0
# ----------------------------------------------------

sub existsActBackup {
$tmpValue = 0;
if (-z @_[0])

{
 $tmpValue = 1;
 
 } else {  
   $tmpValue = 0;  
 }
   
 $rValue = $tmpValue
}


# Ermittle die Liste aller BAK-Files im Verzeichnis $bkupDirectory

# setze den Rückgabewert auf 0

# Für jede Datei dieser Liste:

#  > ermittlere ihren Zeitstempel
#  > prüfe, ob dieser >= CURRENT_DATE - $backupAge ist
#      wenn 'ja', dann kann die Abarbeitung der Liste beendet werden und die Prozedur muß den Wert 1 zurückgeben
#      wenn 'nein', dann muß die Liste weiter durchsucht werden.

# Gebe Wert zurück.


Und hier habe ich auch noch zur Ermittlung der Systemzeit was geschrieben:

my ($mday, $mon, $year, $hour, $min) = (localtime($st_atime))[3..5];
$datum = sprintf ("%02d-%02d-%4d_%02d:%02d", $mday, $mon +1, $year + 1900);
print $datum."\n";


Danke für Eure Hilfe!!

edit pq: code-tags hinzugefügt\n\n

<!--EDIT|pq|1124796090-->
Strat
 2005-08-23 15:29
#57350 #57350
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
if (-C $file <= 1) {
print "Datei ist neuer als 1 Tag\n";
}
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
leissi
 2005-08-23 15:55
#57351 #57351
User since
2005-07-06
84 Artikel
BenutzerIn
[default_avatar]
Hi Strat,

vielen Dank also ich habs eingebaut und er wirft mir auch raus in einer Schleife ob wahr oder falsch! Also vom Betrachten her sieht es aus als ob es klappt!

Kannst Du eventuell mir erklären was eigentlich das -C genau bewirkt!

Ich hab mal nachgelesen aber nur gefunden das -C = Tage seit der letzten Inode-Modifikation???? Für mich nicht ganz klar!!

Vielen Dank
Strat
 2005-08-23 16:13
#57352 #57352
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
$ctime = -C $filename; gibt den Zeitpunkt zurueck, an dem die datei in diesem Dateisystem angelegt wurde (zumindest unter unix). das absolute datum errechnet sich aus: Startzeit des Scriptes - $ctime * Tage
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
leissi
 2005-08-23 16:39
#57353 #57353
User since
2005-07-06
84 Artikel
BenutzerIn
[default_avatar]
Hi,

nur noch eine Frage also wenn ich z.B. -C $file <= 1 Abfragen würde und es kommt nach der Abfrage heraus das keine Datei besteht und ich dann dafür die Abfrage so generieren würde ob gestern eine Datei erstellt wurde -C $file >= -1 wäre diese Abfrage dann logisch und richtig oder liege ich hier falsch???

Gruss
Strat
 2005-08-23 18:19
#57354 #57354
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
gestern ist 1, morgen ist -1

-C $file >= -1 liefert dir alle dateien, die bis 24 stunden nach programmstart erstellt wurden

Umrechnung in absolute zeit:
Code: (dl )
1
2
3
4
my $ctime = -C $file;
my $absoluteTimestamp = $^T - $ctime * 3600 * 24; # $^T ist zeit des scriptstarts
# z.B. in was lesbares umwandeln:
print scalar(localtime($absoluteTimestamp)), "\n";
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
leissi
 2005-08-23 18:25
#57355 #57355
User since
2005-07-06
84 Artikel
BenutzerIn
[default_avatar]
Hi Strat,

also vielen Dank! Du hast mir da sehr geholfen jetzt ist einiges klarer als vorher!

Bis danno!!

Gruss

Leissi
<< >> 7 Einträge, 1 Seite



View all threads created 2005-08-23 14:37.