debug.cfg - Funktion - Befehle - Musterbeispiel

desk12

Neuer User
Mitglied seit
11 Mai 2006
Beiträge
38
Punkte für Reaktionen
0
Punkte
0
Hi Leute,

Ich hab hier im Board die Suchfunktion verwendet um mich bisschen schlau zu machen wie das genau funktioniert mit der debug.cfg. Bei Eingabe von debug.cfg in die Suchfunktion werden auch viele Seiten angezeigt.
Jedoch sind überall nur Bruchstücke und man muß von einem Link zum nächsten klicken.
Es wäre super wenn mir jemand mal genau erklären würde wie das mit der debug.cfg funktioniert.
Damit meine ich:
1. Was ist die debug.cfg genau bzw. wie funktioniert diese ?

2. Welche Befehle gibt es für die debug.cfg ? Was bedeuten diese Befehle genau ? Es wird immer von "nvi" "cp" usw.... gesprochen. Was bewirken diese Befehle. Eine Auflistung mit einer kurzen Beschreibung der einzelnen Befehle wäre super. Dann kann man sich auch darunter was vorstellen.

3. Gibt es irgendwo was für Anfänger wie man ein Programm für die debug.cfg erstellt. Ich meine damit, das was in die debug.cfg geschrieben wird.

z.B. der folgende Code ( Danke an chked )

Code:
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

Was bedeuten die einzelnen Befehle in diesem Code ? Gibts da einen Link wo man sich einlesen kann, um sowas mal auch selber erstellen zu können ?

4. Kann vielleicht jemand mit einem Beispiel ( vielleicht obigen Code ) ausführlich erkären was ich wo eintippen muß um diesen Code in die debug.cfg bzw. FB zu bekommen?

Ich denke mal das ich nicht der einzige bin, den das interessiert.
Wäre echt super wenn sich jemand die Mühe machen würde und so ein "How to" für eine debug.cfg erstellen würde.
 
hallo,

ich habe dafür auf meiner homepage unter anderem eine kurze beschreibung. für nvi- und shell-skript-befehle oder -bedingung würde ich google besuchen. es gibt genug anleitungen dafür.

gruß
 
Such mal nach Shell Programmierung. Für konkrete Befehle zum Beispiel "man cp".

@radislav
Anhängen im Flash ist nicht so geschickt. Besser eine Datei im RAM erstellen und dann auf einmal ins Flash.
Und besser als zeilenweise anhängen ist es, die Datei am Stück zu erstellen:
Code:
cat > /var/tmp/debug.cfg <<'EOF'
...
...
EOF
cat /var/tmp/debug.cfg > /var/flash/debug.cfg
 
Zuletzt bearbeitet:
Anhängen im Flash ist nicht so geschickt.
meinst du damit meine 3. methode mit z.b. echo "irgendwas" > /var/flash/debug.cfg? wenn ja, steht "Nur zur Notlösung" dabei ;) nvi macht glaub ich eine temporäre datei.

ansonnsten ist "die Datei am Stück erstellen" als eine weitere alternative gut geeignet. auf die todo-liste damit:)
 
Genau das "echo >> /var/flash/debug.cfg" meine ich. Damit muß der alte Inhalt gelesen und nachher alles komplett neu geschrieben werden. Das ist weder effizient noch gut für den Flash Speicher.
Falls es überhaupt funktioniert. Hast Du schon mal getestet, was dabei passiert? Ich habe es gerade mal ausprobiert:
Code:
# echo 2 >> debug.cfg
-sh: can't create debug.cfg: Bad address
Also wenn schon zeilenweise, dann wenigstens zuerst in eine Datei im RAM und dann in einem Rutsch kopieren.
Aber besser als viele Zeilen mit "echo" ist die Variante mit "cat <<'EOF' ", weil man da viel besser sieht, wie die Datei nachher aussieht.
 
bei mir gilt immer: ich stelle auf meiner hp nur das zu verfügung, was ich oder eine vertrauenswürdige person getestet hat!

ich gebe dir aber vollig recht: diese methode funktioniert nicht bei allen boxen und ist wirklich zu vermeiden. die beste methode ist meiner meinung nach nvi oder auch nano. nano habe ich allerdings nur mittels debian.
 
ich habe es damals an 7050 und 7170 asprobiert - es ging.
an meiner 7270 geht es nicht mehr
 
Den obenstehenden Code so in die debug.cfg zu packen wäre ganz schlecht, da die debug.cfg so nie beendet wird.
Besser ist, den Code in eine Datei z.B. auf einem USB-Stick zu packen, z.B. mit dem Namen pingtest.sh.
In die debug.cfg kommt dann nur noch der Aufruf
Code:
/var/media/ftp/mein-usb-stick/pingtest.sh &
Das "&" am Ende bewirkt, dass das Script im Hintergrund vor sich hinwerkelt, die debug.cfg aber sofort beendet wird.
 
Kann ich die Datei mit dem Windows Editor erstellen ?

Wo muß ich den Befehl eingeben?
Ich habe in der FB Telnet gestartet und auch in Windows 7 aktiviert.
Wenn ich nun auf Start ---> Programme/Dateien durchsuchen "Telnet" eingebe geht ein Fenster auf. Darin steht:

Willkommen
Das Escapezeichen ist `CTRL++`
Microsoft Telnet> _

Was muß ich dann nach Telnet eingeben ?:confused::confused::confused:
 
Mit dem Windows Editor geht es nicht.

Normalerweise startet man gleich "telnet fritz.box", aber man kann auch bei der Eingabeaufforderung "open fritz.box" eingeben.
 
Wegen Telnet kannst du sonst auch putty benutzen, ist mir persönlich lieber als die Windows-Eingabaufforderung. Tut aber nichts zu Sache.

Hier (KLICK!) habe ich letztens eine kurze Beschreibung zum Thema debug.cfg am PC erstellen und dann zurückspielen erstellt, ich mache dies immer so, wenn nicht nur ein paar Befehle hinzugefügt werden sollen. (Bei einigen Befehlen nutz ich nvi.)
Vielleicht hilft dir das weiter.

Bitte beachten: Dazu musst du einen USB Stick an die Box anschließen, den kannst du dann abziehen und dann die Datei am PC bearbeiten.
 
Zuletzt bearbeitet:
Ich habe mal eine generelle Frage zur debug.cfg

Warum werden die Skripte immer komplett in die Debug.cfg eingetragen?

Wäre es nicht sinnvoller, in die Debug.cfg nur einen Aufruf eines seperaten Shellskriptes zu schreiben (welches ich auf meiner 7390 z.B. im Internen Speicher ablegen würde)?

Also echo /var/InternerSpeicher/install.sh > debug.cfg

Das hätte doch den wesentlichen Vorteil, das man die entsprechende Datei wesentlich bequemer editieren/erweitern könnte...

Oder liegt es einfach daran, das andere Fritzboxen keinen Internen Speicher haben und das warten auf USB Mount oder Internetverbindung zu lange dauert?
 
Ich habe Teile von Scripten in der debug und auch einen Teil ausgelagert (USB Stick), in welchen sich öfter etwas ändert, wie z.B. Serveradressen für RSS oder sonstiges.
Im Internen Speicher, was meinst du damit? RAM der Box? Der is flüchtig, da musst du dein Script jedes Mal von einem Server ziehen, bei Systemstart. Deshalb bei Boxen die keinen USB-Stick angeschlossen haben, ist es die beste Möglichkeit, das Script in der Debug abzulegen.

//EDIT: Ach ja, die 7390 hat ja quasi einen USB Stick eingebaut. Das ist bis dato die Einzige die das hat, meinen Infos nach...
 
....Hier (KLICK!) habe ich letztens eine kurze Beschreibung zum Thema debug.cfg am PC erstellen......

Wie meinst Du das mit dem "sleep 30" davor und danach. Wäre das in meinem Beispiel ( siehe Code oben ) etwa so? :

Code:
sleep 30
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
sleep 30
 
Von "danach" steht bei mir nix soweit ich weiß?
Also das sleep 30 am Schluss machst du weg. Das oberste sleep 30 lässt du drin. Es dient dazu, die Fritz!Box beim Start der debug.cfg erst einmal 30 Sekunden warten zu lassen, bei vielen Scripts ist eine Internetverbindung erforderlich oder es wird auf einen angeschlossenen USB Stick zugegriffen. Beides könnte beim Ausführen der debug.cfg noch nicht zur Verfügung stehen, um absolut sicher zu gehen, dass alle Ressourcen zur Verfügung stehen lasse ich zumindest 30 Sekunden vergehen, bevor ich Befehle ausführen lasse.
 
Den obenstehenden Code so in die debug.cfg zu packen wäre ganz schlecht, da die debug.cfg so nie beendet wird.
Besser ist, den Code in eine Datei z.B. auf einem USB-Stick zu packen, z.B. mit dem Namen pingtest.sh.
In die debug.cfg kommt dann nur noch der Aufruf
Code:
/var/media/ftp/mein-usb-stick/pingtest.sh &
Das "&" am Ende bewirkt, dass das Script im Hintergrund vor sich hinwerkelt, die debug.cfg aber sofort beendet wird.

Also ich hab das jetzt so gemacht ( von dem Befehl noch einen Sleep 180 gesetzt, oder ist das überflüssig ? ) und bevor ich die Box neu starte wollte ich nochmal auf Nummer sicher gehen und fragen ob der Inhalt bzw. die Formatierung meiner debug.cfg richtig ist. Hab den Notepad++ genommen und das als debug.cfg abgespeichert ( im txt.Format ). Hab kein cfg-Format gefunden zum abspeichern.

Die pingtest.sh liegt auf dem USB-Stick im Unterverzeichnis /pingtest/ .

Die debug.cfg hab ich fogendermaßen auf die FB geschrieben:
Code:
cat /var/media/ftp/Sony-StorageMedia-01/pingtest/debug.cfg > /var/flash/debug.cfg

und danach folgendermaßen aufgerufen:
Code:
nvi /var/flash/debug.cfg

Danach kommt diese Anzeige. Paßt das so von der Formatierung :confused:

pingtest.jpg
 
Zuletzt bearbeitet:
Du hättest es gleich im vi schreiben sollen und nicht in einem Windows Editor.
Oder wenn schon, dann bei Notepad++ die passenden Zeilenenden auswählen.
Es kann natürlich sein, daß Du das Glück hast, daß es in diesem Fall nicht stört.
 
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!
 
Das "Konvertieren" von Windows nach mach Unix/Linux geht in den aktuellen Notepad++ Editoten übrigends unter Bearbeiten/EOL Conversion.

Dort (falls Anklickbar) einmal auf Konvertiere zu Unx klicken.

Wenn das nicht möglich ist, liegt die Datei bereits in dem Unix Dateiformat vor.
 
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.