Quantcast
Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Dauerping Script mit Autostart Funktion?

POD

Freak
Registriert
25. Oktober 2012
Beiträge
253
Reaktionspunkte
41
Punkte
88
Ort
Kroatien
Gibt es ein Script für Dauerping für E2 Geräte die über Mobiles Internet funktionieren?

Ein Script mit Autostart Funktion wäre natürlich das beste.

PS: Ich habe schon die Suche verwendet aber verschiedene Antworten gefunden, und wollte nur wissen was Aktuell ist davon. Es gibt verschiedene Scripte, nur funktionieren nicht alle mit jeden Image.
 
Zuletzt bearbeitet:
Per FTP im Pfad /etc/init.d/ die Datei ping.sh neu anlegen und ausführbar machen (Rechte auf 755)

ping.sh
Code:
#!/bin/sh
 
ping 8.8.8.8 -s 20 >/dev/null 2>&1 &

Dann über die Konsole den Befehl ausführen:

Code:
ln -s /etc/init.d/ping.sh /etc/rc3.d/S99ping.sh

Box Neustarten und es sollte gehen.

Über Konsole kann man schauen ob das Script Ping läuft.

Code:
top

Muss man aber etwas warten, weil der Ping nicht permanent angezeigt wird.
Du musst angemeldet sein, um Bilder zu sehen.
 
So habe ich das auf einem Pingu+ mit OpenATV 5.3 über mobiles Internet laufen, wenn ich unterwegs bin.

Hatte bei ePlus immer das Problem, dass bei ungenutzter Verbindung die Pingzeiten bis zum Timeout anstiegen.

Über D2 lief es auch ohne Dauerping stabiler.
 
Und nachdem die Box mal Neugestartet wird oder herunter gefahren wird und man sie danach einschaltet startet der die ping.sh automatisch oder muss man sie wieder Manuel starten?
 
verstehe ich das richtig.
die box checkt alle 20sec den ping.
wenn er kein Ping abgibt gibt, das er von alleine REBOOTet.
Genau das mit dem Reboot brauch ich.
 
Klar geht das, du musst da ein if Drum bauen und dann sagen reboot wenn timeout.

warum willst du die Kiste rebooten beim timeout? Was ist der Anwendungsfall?
 
Hi,
hier ein Reboot-Skript .. ist jetzt wohl ein wenig Offtopic ..

Das Skript macht keinen Reboot, wenn der erste Ping fehlschlägt, d.h. der Reboot kommt erst, wenn nach mehreren Versuchen kein "Pong" kommt.
Man kann auch mehrere IPs zum Testen angeben. Sobald nur eine IP erreichbar ist, wird vom Reboot abgesehen.
Nachtrag: Als weitere Sicherung bootet das Gerät höchstens einmal alle 2 Stunden.

Teste mal.
Das Script cron regelmäßig aufrufen lassen. z.B. minütlich
=> * * * * * /usr/bin/checkping.sh
Bash:
#!/bin/bash
target_ips='8.8.8.8 8.8.4.4'
check_threshold=3
min_uptime=120
last_bootfile=/tmp/.lastautoreboot

function log
{
    echo "$(date +'%d.%m.%Y %T') $1"
}

function checktargets
{
    for ip in $target_ips;
    do
        log "Pruefe $ip"
        ping -c 1 -w 5 $ip > /dev/null 2>&1
        if [[ $? == 0 ]]; then
            log "$ip ist erreichbar."
            return 0
        fi
    done
    return 1
}

function rebootdev
{
    log "Netzwerk ist nach $check_tries Versuchen nicht verfuegbar."
    checktargets
    if [[ $? != 0 ]]; then
        log "Finale Pruefung war auch nicht erfolgreich."
        uptimeinmin=$(awk '{print $1}' /proc/uptime)
        uptimeinmin=`echo $uptimeinmin / 60 | bc`
        log "Uptime in Minuten: $uptimeinmin"
        if [[ $uptimeinmin -le $min_uptime ]]; then
            log "Reboot wird ausgesetzt, da der letzte Reboot erst $uptimeinmin Minuten her ist.";
            exit 0
        fi

        if [[ ! -f $last_bootfile ]]; then
            touch $last_bootfile
            log "Netzwerk ist immer noch nicht erreichbar. Reboot wird durchgefuehrt."
            /sbin/reboot
        fi
    fi
}

check_tries=0
while [ $check_tries -lt $check_threshold ];
do
    check_tries=$[$check_tries+1]
    checktargets
    if [[ $? = 0 ]]; then
        log "Netzwerk ist erreichbar."
        exit 0
    else
        log "Netzwerk ist down. Versuch $check_tries von $check_threshold."
    fi

    if [ $check_tries -ge $check_threshold ]; then
        rebootdev
    fi
done
 
Zuletzt bearbeitet:
Zurück
Oben