.titleBar { margin-bottom: 5px!important; }

IP-UP Skript bei der FB?

Dieses Thema im Forum "FRITZ!Box Fon: Modifikationen" wurde erstellt von MarcoB, 4 Jan. 2006.

  1. MarcoB

    MarcoB Neuer User

    Registriert seit:
    24 Dez. 2004
    Beiträge:
    189
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo!

    Gibt es bei der Fritz Box irgendwie die Möglichkeit in einem IP-Up Skript o.ä. (ich habe es nicht gefunden) einen Eintrag zu setzen, so dass jedesmal, wenn eine DSL Verbindung aufgebaut wurde ein spezieller Routing Eintrag gesetzt wird?

    Wenn ja, wo sollte ich meine "route add" Zeile einfügen?

    Danke & Gruß,

    Marco
     
  2. buehmann

    buehmann Aktives Mitglied

    Registriert seit:
    11 Juni 2005
    Beiträge:
    1,810
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi,

    vielleicht kann dir das onlinechanged-Skript weiterhelfen, das vom multid aufgerufen wird:
    Code:
    usage: multid multid [options]
    options:
      -S STRING          - script to call when onlinestatus changes. ("/bin/onlinechanged")
    
    Du kannst den multid beenden und mit deinem eigenen Skript neustarten. Das Skript bekommt dann per Argument übergeben, in welcher Richtung die Statusänderung stattgefunden hat.

    Andreas
     
  3. MarcoB

    MarcoB Neuer User

    Registriert seit:
    24 Dez. 2004
    Beiträge:
    189
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo buehmann,

    das hoert sich schonmal gut an. Könntest Du mir sagen (scheinst dich ja ein wenig mit multid auszukennen), wie ich den Multid am Besten per debug.cfg schließe und mit welchem Argument ich ihn genau starten muss, um z.B. beim wechsel zu online sagen wir mal das skript /var/tmp/addroute zu starten?

    Besten Dank!

    Gruß,

    Marco
     
  4. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    2
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Hi.
    Code:
    ~ # multid -?
    usage: multid multid [options]
    options:
      -?                 - print this help
      -f                 - run in forground. (NOTSET)
      -s                 - stop daemon. (NOTSET)
      -p STRING          - Pidfile. ("/var/run/multid.pid")
      -M STRING          - memory debug output. (NULL)
      -S STRING          - script to call when onlinestatus changes.  /bin/onlinechanged")
      -t                 - disable simple NTP client. (NOTSET)
      -D STRING          - switch debug logs on. (NULL)
    start server:   multid
    stop server :   multid -s
    ~ #
    Also "multid -s" und bevor du ihn neustartest brauchst du ein sleep. Wie lange musst du selbst ausprobieren.
    Starten musst du ihn dann mit "multid -S /var/tmp/addroute". Wobei er das dann bei jedem Wechsel startet. Du musst also noch abfragen, ob du jetzt online oder offline ist.

    MfG Oliver
     
  5. MarcoB

    MarcoB Neuer User

    Registriert seit:
    24 Dez. 2004
    Beiträge:
    189
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @olistudent:

    Danke für die ausführliche Beschreibung ;-)
    Weisst Du zufällig, ob bzw. wie ich im Skript abfragen kann, ob er Online oder Offline ist? Gibt es da irgendein Log oder so, wo der aktuelle Status gesetzt wird, so das ich das in einer if/else-Anweisug im Skript abfragen kann?

    Danke,

    Marco
     
  6. danisahne

    danisahne Aktives Mitglied

    Registriert seit:
    30 Juli 2005
    Beiträge:
    1,493
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Informatik Studium
    Ort:
    Marktoberdorf
    Mei versuchs doch einfach... ich hab jetzt in 3 Minuten folgendes herausgefunden:

    multid übergibt als Parameter den neuen Zustand in der Form 'offline' oder 'online', d.h. probiers doch mal mit folgendem Skript:
    Code:
    #!/bin/sh
    case "$1" in
        online)
            [i]... hier kommt dein Code ...[/i]
            ;;
        offline)
            [i]... hier kommt dein Code ...[/i]
            ;;
    esac
    Mfg,
    danisahne
     
  7. buehmann

    buehmann Aktives Mitglied

    Registriert seit:
    11 Juni 2005
    Beiträge:
    1,810
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi, wenn ich mich recht erinnere, wird der Status deinem Skript als Argument übergeben. Schau dir einfach mal die Argumente an.

    Andreas
     
  8. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    2
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Wie wär's denn mit einem Ping auf einen Server?
    Code:
    #! /bin/sh
    if [ "ping -c1 [URL="http://www.suse.de"]www.suse.de[/URL]" ]; then
    echo 'up'
    else
    echo 'down'
    fi
    exit 0
    Code:
    /var/mod/root # ./test
    up
    /var/mod/root #
    MfG Oliver

    edit: Mist, zu langsam. :mrgreen:
    Das mit dem Parameter hab ich überlesen, hups.
     
  9. MarcoB

    MarcoB Neuer User

    Registriert seit:
    24 Dez. 2004
    Beiträge:
    189
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @olistudent &danisahne:

    Danke zusammen! So gut kenne ich mich mit Skripten in Linux noch nicht aus. Das ganze scheint zu funktionieren. Mal schaun, ob die Route nach dem nächsten On-/Offline gehen wieder aufgebaut wird.

    Danke!

    Marco