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

[GELÖST] Anrufliste mit cron löschen

Dieses Thema im Forum "Freetz" wurde erstellt von staubsauger-nono, 10 Dez. 2006.

  1. staubsauger-nono

    staubsauger-nono Aktives Mitglied

    Registriert seit:
    27 Apr. 2005
    Beiträge:
    1,516
    Zustimmungen:
    1
    Punkte für Erfolge:
    38
    Ort:
    48°42'5",11°00'44"
    #1 staubsauger-nono, 10 Dez. 2006
    Zuletzt bearbeitet: 16 Dez. 2006
    Hallo,
    ich suche eine Möglichkeit die Anruflist per Cron-Job zu löschen.
    Eine Bekannte telefoniert viel ;) , löscht aber nie die Anrufliste.
    Ich habe das Gefühl, das bei mehreren 100 Einträgen das Webinterface sehr langsam wird.
     
  2. staubsauger-nono

    staubsauger-nono Aktives Mitglied

    Registriert seit:
    27 Apr. 2005
    Beiträge:
    1,516
    Zustimmungen:
    1
    Punkte für Erfolge:
    38
    Ort:
    48°42'5",11°00'44"
    Wenn schon keiner einen Cron-Job kennt,
    vielleicht weiss ja jemand wo die Box die Anruflisten speichert?
     
  3. fritzchen

    fritzchen Aktives Mitglied

    Registriert seit:
    29 Dez. 2004
    Beiträge:
    813
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Code:
    export REQUEST_METHOD="POST"
    export REMOTE_ADDR="127.0.0.1"
    export CONTENT_TYPE="application/x-www-form-urlencoded"
    
    POST_DATA="telcfg:settings/ClearJournal=1"
    export CONTENT_LENGTH=${#POST_DATA}
    
    echo -n "$POST_DATA" | /usr/www/html/cgi-bin/webcm > /dev/null
    
    echo "Anrufliste gelöscht"
    
    
     
  4. staubsauger-nono

    staubsauger-nono Aktives Mitglied

    Registriert seit:
    27 Apr. 2005
    Beiträge:
    1,516
    Zustimmungen:
    1
    Punkte für Erfolge:
    38
    Ort:
    48°42'5",11°00'44"
    #4 staubsauger-nono, 11 Dez. 2006
    Zuletzt bearbeitet: 12 Dez. 2006
    schaut ja gut aus :)
    wenn ich das richtig sehe (bitte nicht schlagen), nehme ich diese Zeilen in die Einstellungen für Cron im ds-mod, oder ?!
    [EDIT]
    OK mit dem Einfügen hab ich wohl gefnden :)
    Nur wenn ich den Code ausführe, kommt zwar die Meldung "Anrufliste gelöscht", im Webinterface
    stehen jedoch immer noch alle Anrufe.
    Was nun?
     
  5. fritzchen

    fritzchen Aktives Mitglied

    Registriert seit:
    29 Dez. 2004
    Beiträge:
    813
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    das ganze muss in eine Datei geschrieben werden, und diese kann dann per cron ausgeführt werden
     
  6. staubsauger-nono

    staubsauger-nono Aktives Mitglied

    Registriert seit:
    27 Apr. 2005
    Beiträge:
    1,516
    Zustimmungen:
    1
    Punkte für Erfolge:
    38
    Ort:
    48°42'5",11°00'44"
    #6 staubsauger-nono, 16 Dez. 2006
    Zuletzt bearbeitet: 16 Dez. 2006
    hab ich gemacht.
    Code in dDatei kopiert mit chmod -x ausführbar gemacht, funktioniert auch.
    Er meldet auch, das die Anrufliste gelöscht ist.
    Im Webinterface stehen dann aber noch alle Anrufe drin.:noidea:

    [EDIT]
    Jetzt habe ich die Datei in /var nochmal angelegt. Jetzt funktionierts:huhu:
    Vielleicht lags dadran, das sie vorher in /var/tmp gelegen ist.
    Nochmal danke.
     
  7. u.g

    u.g Aktives Mitglied

    Registriert seit:
    27 März 2005
    Beiträge:
    1,398
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Es fehlt in dem Script übrigens auch noch der Login-Teil vorher:
    Code:
    PASSW='dein_fritz_passwort'
    export REQUEST_METHOD="POST"
    export REMOTE_ADDR="127.0.0.1"
    export CONTENT_TYPE="application/x-www-form-urlencoded"
    POST_DATA="login:command/password=$PASSW"
    export CONTENT_LENGTH=${#POST_DATA}
    echo -n "$POST_DATA" | /usr/www/html/cgi-bin/webcm > /dev/null
     
  8. staubsauger-nono

    staubsauger-nono Aktives Mitglied

    Registriert seit:
    27 Apr. 2005
    Beiträge:
    1,516
    Zustimmungen:
    1
    Punkte für Erfolge:
    38
    Ort:
    48°42'5",11°00'44"
    Es funktioniert auch ohne Login-Teil.
    Ist IMO auch unnötig, da cron mit "Systemrechten" läuft.
     
  9. u.g

    u.g Aktives Mitglied

    Registriert seit:
    27 März 2005
    Beiträge:
    1,398
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    #9 u.g, 21 Feb. 2007
    Zuletzt bearbeitet: 21 Feb. 2007
    Bei mir (kein dsmod) funktioniert es nicht ohne (außer bei manuellem Login vorher auf fritz.box oder ohne Passwort auf fritz.box),
    denke mir, dass es auch beim dsmod nicht anders ist. Die cron-Rechte haben IMO keine Auswirkungen auf das fritz-Login im Script.
     
  10. reimundko

    reimundko Neuer User

    Registriert seit:
    1 Juli 2006
    Beiträge:
    82
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    Funktioniet bei mir leider nicht

    Habe das Script ins Var gelegt.

    Rufe es per ./anruf auf.

    # tftp -g -l anruf 192.168.178.103
    # chmod 777 anruf
    # ./anruf
    : not found
    : not found
    : Permission deniedcreate /dev/null
    : not found
    Anrufliste gel÷scht

    Leider nur Fehlermeldungen

    Kann mir da bitte einer weiterhelfen

    Reimund
     
  11. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    2
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Hast du Linux-Zeilenende beachtet?

    MfG Oliver
     
  12. reimundko

    reimundko Neuer User

    Registriert seit:
    1 Juli 2006
    Beiträge:
    82
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    Was meinst du damit

    Ich habe den folgenden CODE genommen und abgespeichert.

    export REQUEST_METHOD="POST"
    export REMOTE_ADDR="127.0.0.1"
    export CONTENT_TYPE="application/x-www-form-urlencoded"

    POST_DATA="telcfg:settings/ClearJournal=1"
    export CONTENT_LENGTH=${#POST_DATA}

    echo -n "$POST_DATA" | /usr/www/html/cgi-bin/webcm > /dev/null

    echo "Anrufliste gelöscht"

    Fehlt denn da noch etwas ?
    Reimund
     
  13. u.g

    u.g Aktives Mitglied

    Registriert seit:
    27 März 2005
    Beiträge:
    1,398
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    mit welchem Editor? wie? wie auf die Box gebracht?
    Kuck dir an, wie man vi bedient, dann kannst du es direkt auf der Box eingeben ...
    Deine Box hat kein Passwort?
     
  14. reimundko

    reimundko Neuer User

    Registriert seit:
    1 Juli 2006
    Beiträge:
    82
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    Meine Box hat kein Passwort.

    Ich arbeite entweder mit Ultraedit oder Proton. Sind beides Linux-kompatible Editoren.

    Übertrage die Datei per tftp auf die Fritz.box

    Also, Solarwinds starten, telnet dann per tftp übertragen.

    So bearbeite ich auch die debug.cfg und übertrage sie so auf die fritzbox.
    Und das funktioniert immer.

    Reimund
     
  15. u.g

    u.g Aktives Mitglied

    Registriert seit:
    27 März 2005
    Beiträge:
    1,398
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Was passiert denn, wenn du
    export REQUEST_METHOD="POST"
    eingibst ? "Not found" ?
     
  16. meimi039

    meimi039 Mitglied

    Registriert seit:
    7 Juni 2005
    Beiträge:
    323
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Beruf:
    Senior IT-Security Engineer
    Das hier funktioniert:

    Code:
    #!/bin/sh
    ################################################################################
    #####           Funktionen für den Zugriff auf das Webinterface          #######
    ################################################################################
    
    WEBCM="/usr/www/html/cgi-bin/webcm"
    webui_post_form() (
    cd "$(dirname "$WEBCM")"
    local POST_DATA="$1"
    echo -n "$POST_DATA" \
    REQUEST_METHOD="POST" \
    REMOTE_ADDR="127.0.0.1" \
    CONTENT_TYPE="application/x-www-form-urlencoded" \
    CONTENT_LENGTH=${#POST_DATA} \
    $WEBCM
    )
    urlencode() {
    echo -e $(echo -n "$*" |
    hexdump -v -e '/1 "!%02x"' |
    sed '
    s/!\(2[1ade]\|3[0-9]\|4[1-9a-f]\|5[0-9af]\|6[1-9a-f]\|7[0-9a]\)/\\x\1/g
    s/!/%/g
    ')
    }
    webui_config() {
    allcfgconv -C ar7 -c -o - |
    sed -ne '/^webui[[:space:]]*{/,/^}/{
    /=/{s/[[:space:]]*=[[:space:]]*/=/;s/^[[:space:]]*//;p}
    }'
    }
    webui_password() {
    local password=
    eval "$(webui_config | grep '^password=')"
    echo "$password"
    }
    webui_login() {
    webui_post_form "login:command/password=$(urlencode "$(webui_password)")" \
    > /dev/null
    }
    
    ################################################################################
    #####           Hier gehts los                                           #######
    ################################################################################
    
    
    PASSW=$(webui_password)
    export REQUEST_METHOD="POST"
    export REMOTE_ADDR="127.0.0.1"
    export CONTENT_TYPE="application/x-www-form-urlencoded"
    POST_DATA="login:command/password=$PASSW"
    export CONTENT_LENGTH=${#POST_DATA}
    echo -n "$POST_DATA" | /usr/www/html/cgi-bin/webcm > /dev/null
    POST_DATA="telcfg:settings/ClearJournal=1"
    export CONTENT_LENGTH=${#POST_DATA}
    echo -n "$POST_DATA" | /usr/www/html/cgi-bin/webcm > /dev/null
    echo "Anrufliste gelöscht"
    
     
  17. reimundko

    reimundko Neuer User

    Registriert seit:
    1 Juli 2006
    Beiträge:
    82
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    wenn ich export REQUEST_METHOD="POST" eingebe, passiert nichts im Telnet

    Jetzt habe ich den neuen Code der gerade gepostet wird in die Box geschrieben.

    Langsam verzweifle ich.
    Habe diese Datei anruf genannt.

    chmod -x anruf

    Ist doch richtig, oder ?

    Dann erscheint Permission denied