Hallo zusammen
habe den Apache 2.0 unter Suse 9.1 installiert. Internetzugang erfolgt
über DSl-flatrate ( t-offline ). Die Nachführung der IP – Adresse habe
ich mit dem ddclient zu dyndns realisiert.
Ich kann per script das alle 5 min. vom cron gestartet wird überprüfen ob
ich noch online bin oder ob die Telekom die Verbindung getrennt hat.
Wie kann ich aber vom script aus die Dsl – Verbindung neu starten ?
Vielen Dank für eure Hilfe
hsc
hi,
ich habe dazu /usr/bin/cinternet benutzt.
/usr/bin/cinternet -i dsl0 –start
wenn du aber hinter einem dsl-router mit automatischem verbindungsaufbau
hängst gibt es dsl0 nicht, dann sollte es aber reichen einen ping ins internet
zu schicken z.b
ping -c1 194.25.2.129 (dnsserver t-online) -c1 sendet 1 ping
ob es dsl0 gibt zeigt dir ifconfig bei bestehender verbindung.
martin
Hallo,
ich löse das bei mir wie folgt:
#!/bin/bash
ping -c 2 145.253.2.11
if [ $? != 0 ] ; then
echo “Surprise, Couldn’t ping the ARCOR Nameserver…”
/etc/init.d/pppoed stop
/etc/init.d/pppoed start
fi
exit
Das script läuft alle 5 Minuten per Cron, wenn der Nameserver nicht erreichbar ist, wird die Verbindung neu gestartet. Das ganze läuft seit 3 Jahren einwandfrei. Zusätzlich trenne ich einmal am Tag meine Verbindung, damit fällt die Zwangstrennung weg, und ich kann bestimmen _wann_ getrennt werden soll. Damit lege ich die Ausfallzeit in einen Bereich, wo der Server sowiso nicht genutzt wird (morgens um 5:50Uhr). Meistens bekomme ich sogar meine alte IP wieder…
Hallo Martin
Vielen Dank für die schnelle und präzise Antwort.
mfg
hsc
hallo,
ich muss hier eine kleine Korrektur einbringen. Zwischen -c und 1 sollte ein Leerzeichen!
ping -c 1 194.25.2.129
hi rottriges,
warum sollte da ein leerzeichen rein?? gibt es da einen speziellen grund z.b.
verschieden ping versionen die das brauchen???
hack mal in das terminal-fenster (kde 3.2) “ping -c 1 194.25.2.129” ein drück
enter. nun drück mal die “pfeil nach oben taste” und schau was dann aus dem
leerzeichen zwischen c und 1 wird.
in der console ist dieses verhalten bei mir nicht zu finden es macht aber auf
meinem system keinen unterschied ob ich ein leerzeichen drin hab oder nicht.
dann hätte ich noch eine frage an jürgen:
einfach aus interesse. wie prüfst du ob du online bist.
martin
Hi Martin,
also bei mir (Debiain Woody) geht gar nichts, wenn ich ping -c1 194.25.2.129 drücke. Ich muss dann mit kill oder STRG-Z den Befehl beenden. Bei ping -c 1 194.25.2.129 funktioniert es. Ich hab gerade bei mir auf der Arbeit (SUSE 8.2) das gleiche probiert mit dem gleichen Effekt. Ob das im KDE einen unterschied macht kann ich bei mir auf der Arbeit gerade nicht testen. (hab nur konsole) Ich werde es aber interessehalber mal heute Abend zu Hause testen.
Gruß rottriges
hi rottriges,
ich habe das mit dem leerzeichen bisher für, sagen wir mal, kosmetik gehalten.
ich weiß jetzt nicht wie lange ich die option -c einsetze und mit scripten hab
ich kaum erfahrung deshalb kann ich gerade nicht sagen wie sich das bei
älteren suse versionen verhalten hat ich hat 7.1, 8.0, 8.2. bei knoppix 3.3
geht es ohne das hab ich gerade getestet.
wenn du das aber schon festgestellt hast und ein script auf verschiedenen
systemen laufen soll oder muß denke ich schon das man sich die schreibweise
mit leerzeichen angewöhnen sollte.
martin
Dear User,
bei SuSE 9.1 ist es völlig egal ib man den ping-Befehl mit oder ohne Leerzeichen schreibt.
vielmehr würde mich das Script zur online Prüfung interessieren.
mit besten Grüßen,
chris
Noch eine Ergänzung, hier ein Tipp:
anstatt ping benutze ich im Cron-Job lieber fping. Der Vorteil ist, dass bei
fping der Prozess auch dann beendet wird, wenn aus irgendeinem Grund keine
Antwort kommt. Kommt bei ping nämlich keine Antwort, bleibt der Prozess
bestehen. Dies kann mit ps schnell nachgewiesen werden.
Da der Cron-Job dann wieder ein Ping startet, wird der Hauptspeicher dann
schnell zugemüllt, der Swap-Speicher wird benötigt und das System insgesamt
langsamer. Habe ich leider leidlich erfahren müssen.
fping benötigt nicht einen Parameter -c1 . Es wird standardmäßig nur einmal
“gepingt” (siehe man fping) .
Grüße, Martin
man ping sagt:
ping -c 1 -w 2 http://www.aldi.de
pingt einmal und wartet max. 2s auf Antwort. Eigentlich ist es egal welche der beiden pings man für so einen einfachen Test nimmt (so man die richtigen Optionen mit angibt).
hallo,
ich verstehe den ganzen aufwand mit ping und so garnicht:
ich habe in der /etc/boot.local den eintrag /usr/sbin/ddclient vorgenommen – damit startet der daemon mit dem booten des systems(suse9). und in der /etc/ddclient.conf gibt es die option daemon=300 und use=web – damit sagt man dem ddclient-daemon wann und wie er die adresse aktualisieren soll. ich hatte mit dieser konfiguration noch niemals verbindungsprobleme (dslflat)und der t-online-abbruch um 0 uhr ist ein paar sekunden und fällt hier nicht ins gewicht – es sei den, du möchtest sowas wie hochverfügbarkeit :)
wenns hilft….
m.
ps. mit ps -ax (für unsere formreiter: unter suse gehts auch ohne minus) bekommt man angezeigt, wieviele sekunden der ddclient bis zur nächsten aktualisierung lauert.