Html-Dateien Überwachung
Hallo zusammen,
bezugnehmend auf diesen beitrag: Dateien-Überwachung erweitere ich meine Anfrage um die Spezifizierung von auschließlich html-dateien... benötigt, wird etwas was als script (evt. auch freeware) im hintergrund auf einem der workstations laufen kann...
kann mir jemand helfen oder eine alternative bieten/nennen?
vielen dank
Bee
bezugnehmend auf diesen beitrag: Dateien-Überwachung erweitere ich meine Anfrage um die Spezifizierung von auschließlich html-dateien... benötigt, wird etwas was als script (evt. auch freeware) im hintergrund auf einem der workstations laufen kann...
kann mir jemand helfen oder eine alternative bieten/nennen?
vielen dank
Bee
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 124936
Url: https://administrator.de/forum/html-dateien-ueberwachung-124936.html
Ausgedruckt am: 24.12.2024 um 00:12 Uhr
14 Kommentare
Neuester Kommentar
Moin,
sorry das ich mir nicht die mühe mache für die Lösung deines Problemes auch noch verschiedene Threads hier durchzulesen... Wie wäre es wenn du einfach mal kurz zusammenfasst was du genau willst? Wenn du dir diese Mühe nicht machen möchtest - warum sollte sich hier jemand die mühe zu machen zu denken und das auch noch aufzuschreiben?
sorry das ich mir nicht die mühe mache für die Lösung deines Problemes auch noch verschiedene Threads hier durchzulesen... Wie wäre es wenn du einfach mal kurz zusammenfasst was du genau willst? Wenn du dir diese Mühe nicht machen möchtest - warum sollte sich hier jemand die mühe zu machen zu denken und das auch noch aufzuschreiben?
.. können auf dem Rechner mit den vielen Dateien Scripte ausgeführt werden (z.B. PHP) ?
.. besitzt er einen FTP Zugang ?
.. werden bei der Aktualisierung Log Dateien geschrieben ?
Ich glaube ich verstehe nicht ganz was das soll !?
Hi,
hier ne Perl Variante.
gruß
hier ne Perl Variante.
#!/usr/bin/perl
use strict;
use warnings;
use DirHandle;
my $dir_path = 'c:/temp';
print "<html>\n<head>\n\t<title>Älter 15 Min ?</title>\n</head>\n\t<body>\n";
print "<table><tr><td>Dateiname</td><td>Ja</td><td>Nein</td></tr>";
if(my $dir = DirHandle->new($dir_path)) {
while(my $dir_item = $dir->read()) {
next if $dir_item =~ /^\.\.?$/;
my $mod_time = (stat("$dir_path/$dir_item"))[9];
my $temp = $mod_time + 900;
my $temp2 = time;
if ($temp > $temp2 )
{
print "<tr><td>$dir_item</td><td></td><td bgcolor=\"#7FFF00\">X</td></tr>\n";
}
else
{
print "<tr><td>$dir_item</td><td bgcolor=\"red\">X</td><td></td></tr>\n";
}
}
$dir->close() or die $!;
}
else
{
die "Error on opening directory $dir_path: $!\n";
}
print "</table></body></html>\n";
gruß
Hi,
das Skript listet alle Dateien aus einem Order auf, in diesem Fall "c:\temp", und macht ein Rotes Feld mit Kreuz drin dahin wenn sie älter als 15 Minuten ist und ein Grünes Feld mit nem Kreuz drin wenn sie jünger als 15 Minuten ist.
Wenn du die Dateien die jünger als 15 Minuten sind nicht aufgelistet haben möchtest dann lösch die Zeile 19.
Im moment must du das noch so aufrufen :
aelter15.pl > aelter15.html
Wenn du das auf nen Webserver legst der Perl versteht kann man das gerade noch zu nem CGI Skript umbauen fals gewünscht.
gruß
das Skript listet alle Dateien aus einem Order auf, in diesem Fall "c:\temp", und macht ein Rotes Feld mit Kreuz drin dahin wenn sie älter als 15 Minuten ist und ein Grünes Feld mit nem Kreuz drin wenn sie jünger als 15 Minuten ist.
Wenn du die Dateien die jünger als 15 Minuten sind nicht aufgelistet haben möchtest dann lösch die Zeile 19.
Im moment must du das noch so aufrufen :
aelter15.pl > aelter15.html
Wenn du das auf nen Webserver legst der Perl versteht kann man das gerade noch zu nem CGI Skript umbauen fals gewünscht.
gruß
Macht nix, es sei den du möchtest unbedingt ;)
Du möchtest ne htm Datei haben. Einfach so ist die htm Datei aber Statisch. Da ändert sich nichts wenn die Dateien in dem Ordner sich ändern.
Also must du entweder auch über ne Batchdatei die htm Datei aktualisieren. Dafür müstest du das erste Skript was ich geschrieben habe in eine Datei speichern. z.B. in aelter15.pl .
Um daraus ein htm Datei zu machen Schreibst du eine Batch Datei in der Drinsteht
aelter15.pl > aelter15.htm
Und diese Batchdatei läst du über geplante Tasks regelmäßig laufen.
Dann steht in aelter15.htm dein gewünschtes ergebniss.
Wenn du nen Webserver hast würde sich eine Variante über ein CGI Skript anbieten.
Dann nimst du diesen Quelltext
und legst Ihn auf den Webserver in ein Verzeichnis wo Skripte ausgeführt werden dürfen.
Alle meine Lösungen gehen aber NUR wenn da ein Perl Interpreter Installiert ist.
gruß
Woolfsmann
Du möchtest ne htm Datei haben. Einfach so ist die htm Datei aber Statisch. Da ändert sich nichts wenn die Dateien in dem Ordner sich ändern.
Also must du entweder auch über ne Batchdatei die htm Datei aktualisieren. Dafür müstest du das erste Skript was ich geschrieben habe in eine Datei speichern. z.B. in aelter15.pl .
Um daraus ein htm Datei zu machen Schreibst du eine Batch Datei in der Drinsteht
aelter15.pl > aelter15.htm
Und diese Batchdatei läst du über geplante Tasks regelmäßig laufen.
Dann steht in aelter15.htm dein gewünschtes ergebniss.
Wenn du nen Webserver hast würde sich eine Variante über ein CGI Skript anbieten.
Dann nimst du diesen Quelltext
#!c:/Perl/bin/perl.exe
use strict;
use warnings;
use DirHandle;
# Ordner in dem Gesucht wird
my $dir_path = 'c:/temp';
#HTML Header
print "Content-type: text/html\n\n";
print "<html>\n<head>\n\t<title>Älter 15 Min ?</title>\n</head>\n\t<body>\n";
#Tabellen aufbau
print "<table><tr><td>Dateiname</td><td>Zu Alt?</td></tr>";
if(my $dir = DirHandle->new($dir_path)) {
#Für jede Datei in dem Ordner
while(my $dir_item = $dir->read()) {
#Nächste wenn . oder ..
next if $dir_item =~ /^\.\.?$/;
#Auslesen der Geändert Timestamps
my $mod_time = (stat("$dir_path/$dir_item"))[9];
# 15 Minuten auf den Geändert Timestap draufrechnen
my $temp = $mod_time + 900;
#Vergleichs Timestamp der Aktuellen Zeit
my $temp2 = time;
#Abfrage ob Älter als 15 Minuten
if ($temp < $temp2 )
{
#Aufschreiben der Dateien die Älter sind
print "<tr><td>$dir_item</td><td bgcolor=\"red\"><center>X</center></td></tr>\n";
}
}
$dir->close() or die $!;
}
else
{
die "Error on opening directory $dir_path: $!\n";
}
print "</table></body></html>\n";
und legst Ihn auf den Webserver in ein Verzeichnis wo Skripte ausgeführt werden dürfen.
Alle meine Lösungen gehen aber NUR wenn da ein Perl Interpreter Installiert ist.
gruß
Woolfsmann
Es ist natürlich auch möglich eine statische HTML Datei zu erzeugen mit Perl (oder PHP) - dann müsste allerdings das *.pl oder *.php Script nach dem Kopiervorgang (am ende der batch) ausgeführt werden.
Wenn Du das Script über die Kommandozeile (batch) ausführst, braucht man keine Änderungen am Apache (oder was auch immer) zu machen.
für PHP zB.:
Wenn Du das Script über die Kommandozeile (batch) ausführst, braucht man keine Änderungen am Apache (oder was auch immer) zu machen.
für PHP zB.:
c:\ordner\php-cgi.exe pfad\meinscript.php > pfad\ausgabe.html