Hallo,
Zwischenergebnis: (Für den Einsatz von Bintec-Routern)
Aus dem Logfile kann ich die zugewiesene IP extrahieren.
Wenn keine Änderung vorliegt, dann passiert auch nichts.
Wenn eine neue IP vorhanden ist wird eine HTML-Seite erstellt und „upgeloadet“.
Soweit alles OK, Dank allen beteiligten.
Meine Frage etwas weiter unten: (->> Ab hier:smile:
***********************************
#!/usr/bin/perl -w
use strict;
Aktivierung des Routers (geht nach einer Leerlaufzeit -> down)
system(„ping 200.200.200.200“);
my $abc;
open(FIRE, ")
{
if (m/IP address is/)
{
$_ =~/(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})/;
print „$1\n“; # kann raus
$abc = $1;
}
}
close(FIRE);
#----------------------------------------------------------------
open(VERGLEICHE, ')
{
$def = $_;
}
close(VERGLEICHE);
#print „\n\n$abc\t\t$def\n\n“;
#sleep(5);
#----------------------------------------------------------------
if($abc eq $def)
{
print „\n\nEs wird keine Neue HTML-Seite erstellt“;
}
else
{
->> Ab hier:
->> Warum wird die nachfolgende Zeile zuletzt angezeigt? Also nach der Ausführung von FTP?
print „\n\nNeue HTML-Seite wird erstellt“;
open(VERGLEICHE, ‚> d:/alte-ip.txt‘);
print VERGLEICHE „$abc“;
close(VERGLEICHE);
my @zeit = localtime;
my $MINUTE = $zeit[1];
my $STUNDE = $zeit[2];
my $TAG = $zeit[3];
my $MONAT = $zeit[4];
open(HTML_IP, ‚> d:/link.html‘);
print HTML_IP 'Letzte Aktualisierung : ';
print HTML_IP „$STUNDE:blush:MINUTE $TAG.$MONAT.“;
print HTML_IP ’
Goto’;
print HTML_IP „$abc“;
print HTML_IP ‚‘;
close(HTML_IP);
use Net::FTP;
$server = „x.x.x.x“;
$username = „yyy“;
$password = „********“;
$datei = „d:/link.html“;
$ftp = Net::FTP->new($server, Debug=>1) || die „Keine Verbindung mit $server.\n“;
$ftp->login($username, $password) || die „Fehler beim einloggen.\n“;
$ftp->put($datei) || die „Fehler beim uploaden von $datei auf $server.\n“;
$ftp->quit() || die „Fehler beim ausloggen von $server.\n\n“;
}
sleep(5);