Jump to content

per batch script URLs testen und einen DNS Service aktualisieren


Direkt zur Lösung Gelöst von BOfH_666,
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen,

 

Ich habe auf einem PC einen Webserver laufen, den man über eine Adresse vom DNS Service No-Ip.com erreicht (webserver.noip.com). In dieser URL steht normalerweise die externe IP von diesem Rechner.
Falls dieser PC oder der Webserver oder die Internetanbindung abschmieren sollte, habe ich einen zweiten PC als Backup laufen. Der ist an einer anderen Internetverbindung, hat also eine andere externe IP. Dort läuft halt der gleiche Webserver drauf.
Falls also die Adresse "webserver.noip.com" nicht erreichbar sein sollte, muss sie mit der IP vom Backup PC gefüttert werden. Wenn das geschehen ist, ist der Backup PC in Betrieb. Für diese Umschaltung suche ich ein Script.

 

Das genau muss das Script können:
1. Die URL testen
Im ersten Step muss es versuchen die URL "webserver.noip.com:80/testseite.php" zu öffnen. Das was man zurück bekommt wenn alles klappt, also das was ein Browser darstellen würde, muss in eine Variabele gespeichert werden, die dann mit einem festen Text (= z.B. "TestOk") verglichen wird. Wenn das ok ist sollte alles korrekt laufen.

 

2. Diesen Test x mal machen (einstellbar)
dieser Test muss x mal wiederholt werden, mit einem Abstand von x Minuten. Nur wenn alle Tests negativ waren, ist der Server down, und es geht im nächsten Step weiter. Sobald ein Test ok ist, kann das Skript beendet werden.

 

3. Eine andere URL testen (die vom Backup PC)
Jetzt muss das gleiche wie unter 1. und 2. nochmal für die Backup URL gemacht werden (webserverBACKUP.noip.com:80/testseite.php). Diese URL zeigt IMMER auf den Backup PC. Wenn der nicht läuft macht das Umschalten keinen Sinn. Unterschied zum obigen ist: Das Script muss weiterlaufen, wenn der Test ein Mal OK war, kann beendet werden, wenn der Test x mal nicht ok war.

 

4. No-IP aktualisieren
Wenn also die URL "webserver.noip.com:80/testseite.php" x mal nicht OK war, und die URL "webserverBACKUP.noip.com:80/testseite.php" OK war, kann die erste URL bei noip mit der externen IP vom Backup Rechner gefüttert werden.
Das funktioniert mit dem Aufruf einer URL wie diese:
"http://username:password@dynupdate.no-ip.com/nic/update?hostname=blabla.noip.com&myip=youripaddress"
siehe --->https://www.noip.com/docs/crosswalk.pdf

 

 

Dann ist der Backup Server in betrieb.

Wäre schön, wenn mir da jemand helfen könnte, gegoogelt und selbst versucht habe ich es jetzt schon tage lang, leider ohne Erfolg.
Ich glaube schon das auch andere Interesse daran finden könnten, da es eine einfache und komplett kostenlose Methode ist, ein redundantes System zu erstellen.

 

Mfg, Heinz

 

bearbeitet von HiThere
Link zu diesem Kommentar

nun, ich habe viele verschiedene scripte gedownloadet, und versucht anzupassen. Nichts hat funktioniert. Manche waren auch so aufgebläht, kompliziert und nicht vernünftig Kommentiert, die habe ich nicht verstanden. Dann habe ich neu angesetzt und das alte gelöscht. Also habe tue ich nichts. Genau nichts. Naja, ausser das Grundkonzept, das steht oben.

Es hängt schon am aufrufen der URL, und speichern was zurück kommt. Also als minimale Hilfe bräuchte ich eine funktionierende Hülle mit genau diesem Befehl.

Link zu diesem Kommentar
vor 22 Minuten schrieb testperson:

wenn hier wirklich Verfügbarkeit gefordert ist, dann mach es richtig. Ggfs. wäre es am einfachsten auf einen Hoster zurückzugreifen, der dir entsprechende SLAs anbietet.

 

Weisst du wie dieser Befehl lauten muss? Kannst du mir helfen? Auch wenn du selbst einen hoster bezahlen würdest oder vielleicht das gesamte System anders aufsetzen würdest?

Vielleicht hilfst du mir damit, eine alternative zu einem batch script, die zu dem gleichen Ziel führt (=Urls testen und entsprechend einen Dynamic DNS dienst updaten), aufzuzeigen? 

 

Sorry, aber das war eine Antwort nach dem Motto -> "Frage: Mein Auto springt nicht an, was kann ich tun? Antwort: Autos sind doof, nimm ein Fahrrad." Das ist schlicht und einfach Off - Topic.

Es kostet, völlig zurecht natürlich, eine gewisse Mühe, so einen Post so konkret zu erstellen. Wenn ich dann abgespeist oder veräppelt werde, ärgert mich das schon sehr.

Link zu diesem Kommentar
vor 29 Minuten schrieb HiThere:

Sorry, aber das war eine Antwort nach dem Motto -> "Frage: Mein Auto springt nicht an, was kann ich tun? Antwort: Autos sind doof, nimm ein Fahrrad." Das ist schlicht und einfach Off - Topic.

Es kostet, völlig zurecht natürlich, eine gewisse Mühe, so einen Post so konkret zu erstellen. Wenn ich dann abgespeist oder veräppelt werde, ärgert mich das schon sehr.

Deine Ausgangsfrage wäre quasi: "Ich habe einen Traktor und muss Formel 1 fahren!".

 

vor 30 Minuten schrieb HiThere:

Vielleicht hilfst du mir damit, eine alternative zu einem batch script, die zu dem gleichen Ziel führt (=Urls testen und entsprechend einen Dynamic DNS dienst updaten), aufzuzeigen? 

Meine Alternative wäre es einfach richtig zu machen.

Link zu diesem Kommentar
vor 21 Minuten schrieb testperson:

Deine Ausgangsfrage wäre quasi: "Ich habe einen Traktor und muss Formel 1 fahren!".

Nein, deutlich nicht. Ich habe weder gefragt wie ich eine besonders hohe verfügbarkeit bekomme oder ob ich so eine bekomme, noch gesagt das ich Hilfe brauche um eine gewisse Verfügbarkeit herzustellen vom Konzept her.

Ich habe nach einem script gefragt, das das, was oben beschrieben steht, kann, und habe beschrieben wofür ich es brauche.

Vielleicht liest du meinen ersten Post nochmal.

Vielleicht ist das ein Missverständnis.

 

 

 

Gibt es hier jemanden, der sich mit batch auskennt, und mir zumindest bei diesem Befehl helfen kann? -->

vor 2 Stunden schrieb HiThere:

Es hängt schon am aufrufen der URL, und speichern was zurück kommt. Also als minimale Hilfe bräuchte ich eine funktionierende Hülle mit genau diesem Befehl.

 

Link zu diesem Kommentar
vor 2 Stunden schrieb HiThere:

Gibt es hier jemanden, der sich mit batch auskennt, und mir zumindest bei diesem Befehl helfen kann? -->

Hmmm ... welchen Befehl meinst Du? Dieses Forum ist, wenn ich mich nicht sehr irre, eher für IT-Profis, die mit einem selbstgeschreibenen Script ein Problem haben. Du hast bisher leider gar nichts geliefert. Sorry, aber das sieht für mich so aus, als sollten wir Dir ein entsprechendes Script schreiben.

Mit welcher Script-Technologie kennst Du Dich denn genug aus, um das Ganze umsetzen zu können? Wenn Deine Antwort jetzt lautet "mit keiner", dann bist Du hier vermutlich nicht im richtigen Forum.

Wenn es um Windows Betriebssysteme geht, würde ich Dir empfehlen, Dir die Grundlagen von Powershell anzueignen. Die Einstiegshürde ist sehr niedrig und man bekommt mit relativ wenig Aufwand einen großen Nutzen.

Als Einstieg kannst Du Dir ja mal den kostenlosen Video-Kurs von MS ansehen: Getting Started with Microsoft PowerShell - der ist sehr empfehlenswert für Einsteiger.

Für Dein Script könntest Du dann für den Anfang mit cmdlets wie Test-Connection und Invoke-Webrequest schon mal ein bissl spielen.  ;-)

Ich wünsche Dir viel Erfolg.

bearbeitet von BOfH_666
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...