Script welches neue mit alter IP vergleich

M

metallicscreen

Grünschnabel
Hallo,

ich versuche grad ein sript zu schreiben welches die aktuelle IP eine Internetseite ermittelt und mit einer Referenz IP vergleicht (z.B aus einer Textdatei), sollte die aktuelle IP abweichen soll eine Textausgabe "Achtung Änderung" o.ä. erscheinen..

Ich hab nun etwas rumprobiert mit IF-Abfrage, "echo" und "host", aber bin auf keinen grünen Zweig gekommen.. An sich ist es ja ein simples Problem, aber als jemand der sonst nie scripts braucht doch schon umfangreich. Ich wäre daher sehr dankbar wenn mir jemand einen Ansatz geben könnte...
 
Hallo,

etwas in der Art?

Code:
#! /bin/bash
#
# Skript ermittelt IP zu einem Hostnamen und vergleicht ihn
# mit dem Default

PATH=/bin:/sbin:/usr/bin:/usr/sbin
INETHOST="www.blubberserv.net"
IPFILE="/usr/local/etc/ipfile-blubberserv"
HOSTIP=`host ${INETHOST} | awk '{ print $4 }'`
DEFAULTIP=`cat < ${IPFILE}`

if [ "${HOSTIP}" = "${DEFAULTIP}" ] ;
then
    echo "IP ist gleich"
else
    echo "IP hat sich geändert"
fi

exit
# end of script

Mahlzeit!
 
Danke, das sieht ganz gut aus.

Eine Frage hab ich noch, passt war nicht ganz zum Thema aber ich möcht auch keinen neuen thread dafür aufmachen.

Gibt es die möglichkeit zwischen den schritten in einem Script ein delay einzubauen? Ich möchte zB über ein Telnet-Script eine mail schreiben, aber wenn ich schreibe:

telnet mail.bla.de 25
EHLO [x.x.x.x.x]
AUTH PLAIN
blablabla

kommt das Script gar nicht mehr zum nächsten Schritt, da telnet noch mit dem Einloggen beschäftigt war.

Gibts dafür eine Lösung?
 
hmm ein sleep wahrscheinlich.. also sleep 10 oder wie lange es halt zum einloggen braucht.
 
habs nun mit sleep probiert, wenn ich sleep zwischen 2 Ausgaben (echo) einfüge klappts wunderbar, aber nicht in meinem telnet-script

hier mal nen ausschnitt:

Code:
telnet relay.rz.fhtw-berlin.de 25
sleep 5
EHLO [192.168.x.x]
sleep 5
AUTH PLAIN

gibt denn eine möglichkeit dass die folgenden schritte im script auch ausgeführt?
 
Zuletzt bearbeitet:
Zurück
Oben