debug.cfg - Funktion - Befehle - Musterbeispiel

Erzeugt trotzdem CR + LF.

Happy computing!
R@iner
 
Die Datei enthält noch einen DOS/WINDOWS Zeilenumbruch CRLF, Unix verwendet nur LF. Ich weiss nicht, ob die Fritzbox über das CR "stolpert", falls es Probleme gibt, die Dateien nochmal im unix-Format speichern.
Notepad++ sollte das beherrschen, der Standard Windows Notepad kanns nicht!
Welchen Dateityp soll ich im Notepad++ auswählen ?:confused::confused::confused:
Unter Dateityp steht nicht mit der Endung "cfg".
 
Nenn es, wie Du willst (.txt ist völlig OK) - und benenne es hinterher im Explorer oder im Script unter Linux um. Oder bearbeite es tatsächlich direkt per nvi auf der Box.


Gruß,
Wichard
 
Welchen Dateityp soll ich im Notepad++ auswählen?
Speichere es ab, wie Du willst. Namen sind Schall und Rauch.

Wichtig ist nur, daß Du vorher im Menü "Bearbeiten" -> "Zeilenende" -> "Konvertiere zu Unix" aufrufst.

Happy computing!
R@iner
 
Ok, danke. Habe ich im Notepad++ jetzt so gemacht ( Konvertieren zu Unix ).

Könnte mir evtl. noch jemand kurz den Befehl schreiben, wie ich die debug.cfg über telnet komplett löschen ( bzw. leeren ) kann, das da nichts mehr drin steht und die dann ganz sauber ist ?
 
So wie Du es in Deinem Posting 17 geschrieben hast:

cat /var/media/ftp/Sony-StorageMedia-01/pingtest/debug.cfg > /var/flash/debug.cfg
Happy computing!
R@iner
 
So, also ich hab das alles jetzt so gemacht wie von euch beschrieben.
Die "debug.cfg" hab ich mit Unix-Zeichencodierung erstellt und dann als debug.cfg abgespeichert.
Die "pingtest.sh" hab ich als Unix-Script-Dateityp ( .sh ) abgespeichert.
Habe alles mit dem Notepad++ erstellt.

In der "debug.cfg" auf der FB steht folgendes:
Code:
sleep 180
var/media/ftp/Sony-StorageMedia-01/pingtest/pingtest.sh &

In der "pingtest.sh" ( befindet sich auf dem USB-Stick der an der FB angeschlossen ist unter: /Sony-StorageMedia-01/pingtest/ ) steht folgendes:
Code:
sleep 180
NUMMER=4797400
ADRESS=192.168.10.12
while ( true ) do
  ping -c 1 $ADRESS > /dev/null
  if [ $? -ne 0 ] 
  then
    echo "Jetzt waehl ich die Nummer"
    echo ATD$NUMMER | nc localhost 1011 > /dev/null
    while ( true ) do
      ping -c 1 $ADRESS > /dev/null
      if [ $? -eq 0 ]
       then
        break;
      fi
      sleep 10
    done
  fi
  sleep 10
done
Bei "Nummer" hab ich meine Handynummer eingetragen und bei "Adress" meine IP vom Rechner ( hab eine feste IP vergeben und die dann eingetragen ). Sonst hab ich nichts verändert.

Aber leider tut sich da gar nix.:(
Nachdem ich die FB neu gestartet habe und der Rechner wieder eine Verbindung zum Internet hatte, mußte ich feststellen, daß ich nicht gleich auf den USB-Stick zugreifen konnte.
Nach ca. 2-3 Minuten hat sich die FB plötzlich von alleine neu gestartet. Das passierte ca. 2 - 3 mal (das sich die FB selber neu gestartet hatte ). Vielleicht konnte das Script den Stick nicht finden ?
Jedenfalls nach dem 3. Neustart konnte ich dann auch auf den Stick zugreifen und die FB hat sich auch nicht mehr neu gestartet.

Dann wollte ich ausprobieren ob das Script funktioniert und hab dann noch ca. 5 Minuten gewartet und meinen Rechner dann ausgeschaltet. Dann sollte ja die FB vom Rechner kein Signal ( Ping ) bekommen und mich auf meinem Handy anrufen.
Aber da kam leider nichts.

Hab ich da irgendwas noch falsch gemacht ?:confused:
 
Hmm,
hat denn keiner einen Tipp warum das nicht funktioniert ?
 
Probier mal, das Script manuell zu starten. In der Telnet-Kommandozeile gibst du ein
Code:
var/media/ftp/Sony-StorageMedia-01/pingtest/pingtest.sh
(ohne das & am Ende) und beobachte, ob und welche Meldungen ausgegeben werden. Das Script kannst du jederzeit durch Drücken von STRG+C abbrechen.
Falls sich gar nichts tut, kannst du echo-Zeilen in den Code einstreuen, um den Ablauf zu verfolgen. Der Text hinter dem Echo wird dann auf der Konsole ausgegeben.
 
Er wäre eine gute Idee, wenn das Skript mit "#!/bin/sh" beginnen würde und ausführbar wäre. "sleep 180" solltest Du in debug.cfg entfernen, das steht ja schon im Skript selbst. Sicherheitshalber sollte der Aufruf mit einem absoluten Pfad erfolgen.

Du kannst das Skript in der Konsole auch gleich so starten, dann wird jede Zeile angezeigt, die ausgeführt wird.
Code:
sh -x /var/media/ftp/Sony-StorageMedia-01/pingtest/pingtest.sh
 
Ich hab den Befehl jetzt mit sh -x var/....... ausgeführt.
Danach kommt diese Ausgabe:
Telefonnummer und IP sind in der Anzeige natürlich vollständig.

pingtest-2.jpg

Ich hab dann das LAN-Kabel vom Rechner abgezogen um so vorzutäuschen, daß der Rechner nicht mehr erreichbar ist. Jedoch kam kein Anruf aufs Handy. Im Fenster wurde ja logischerweise nicht angezeigt, da ja die Verbindung zur FB unterbrochen wurde. Ich hab dann nach ca. 30 Sek. das Kabel angesteckt und dann ging es kurz darauf wieder weiter mit der Anzeige so wie oben alle 10 Sekunden.

So sieht mein Script aus:
Telefonnummer und IP der Box sind im Script natürlich vollständig eingetragen.
Kann da vielleicht am Script irgendwas nicht stimmen ?

script.jpg
 
Zuletzt bearbeitet:
Wie wäre es, wenn Du das nicht als Bild, sondern als Text hier unterbringst?

Versuch mal
Code:
sh -x /var/media/ftp/Sony-StorageMedia-01/pingtest/pingtest.sh 2> /var/tmp/ping.log &
Dann kannst Du nachher in der Datei /var/tmp/ping.log nachsehen, was passiert ist, während der Rechner nicht verbunden war.
 
Also wenn ich den obigen Befehl so eingebe kommt dann folgendes nachdem ich /var/tmp/ping.log eingegben habe.
Code:
-sh: /var/tmp/ping.log: Permission denied
 
Es hat ja auch niemand gesagt, daß Du nachher diese Datei ausführen sollst. Die Datei ist ja kein Programm, sondern die Ausgabe von dem obigen Kommando, die jetzt in einer Datei gespeichert wird und nicht auf dem Bildschirm ausgegeben.

Du kannst die Datei mit "cat /var/tmp/ping.log" auf den Bildschirm ausgeben, mit vi ansehen, oder auf den USB-Stick übertragen (oder gleich dort anlegen), oder per FTP auf den PC übertragen und dort ansehen.
 
Ok, danke. Bin noch ein Noob auf dem Gebiet. Sorry.
Hab Deinen Code nochmal so eingegeben und die tmp auf den Stick gespeichert.
Nach dem ich das Lan-Kabel ab und wieder angesteckt habe stand das in den tmp-Datei:
+ sleep 180
+ NUMMER=0170.....
+ ADRESS=192.168.....
+ true
+ ping -c 1 192.168....
+ [ 0 -ne 0 ]
+ sleep 10
+ true
+ ping -c 1 192.168....
+ [ 1 -ne 0 ]
+ echo Jetzt waehl ich die Nummer
+ echo ATD0170......
+ nc localhost 1011
+ true
+ ping -c 1 192.168....
+ [ 1 -eq 0 ]
+ sleep 10
+ true
+ ping -c 1 192.168....
+ [ 1 -eq 0 ]
+ sleep 10
+ true
+ ping -c 1 192.168....
+ [ 0 -eq 0 ]
+ sleep 10
+ true
+ ping -c 1 192.168....
+ [ 0 -ne 0 ]
+ sleep 10
+ true
+ ping -c 1 192.168....
+ [ 0 -ne 0 ]
+ sleep 10

PS: Wie kann ich denn das Script wieder stoppen, das läuft immer noch und in die tmp wird fleißig weiter geschrieben ??? Mit STRG+C geht nicht.
 
Zuletzt bearbeitet:
Das zeigt, daß die Aktion ausgeführt wird. Du solltest also mal testen, ob die Aktion "echo ATD$NUMMER | nc localhost 1011", von Hand ausgeführt, das gewünschte Ergebnis liefert.

Um das Skript zu stoppen, findest Du mit "ps" die Prozeß-Nummer heraus und stoppst es dann mit "kill".
Oder ein Reboot hilft auch.
 
Also ich hab das jetzt folgendermaßen eingetippt:
Code:
echo ATD$0170.... | nc localhost 1011
Wenn ich dann "Return" drücke steht nur "OK" da. Sonst tut sich nicht. Handy klingelt nicht.
 
Wie schon geschrieben, wenn das von Hand nicht funktioniert, wir des wohl auch im Skript nicht funktionieren.
Versuche es nochmal ohne das Dollar-Zeichen, und ansonsten schau mal da nach, wo Du die Anweisung her hast.
 
OK, danke für die Antworten.
Hab´s ohne das $ nach dem ATD probiert. Passiert aber auch nix.
Hmmm, na vielleicht klappts irgendwann doch nochmal. Ich werde noch weitersuchen, vielleicht findet sich die Antwort irgendwo.

Auf jedenfall danke für eure Bemühungen.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.