[GELÖST] Anrufliste mit cron löschen

staubsauger-nono

Aktives Mitglied
Mitglied seit
27 Apr 2005
Beiträge
1,518
Punkte für Reaktionen
2
Punkte
38
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.
 
Zuletzt bearbeitet:
Wenn schon keiner einen Cron-Job kennt,
vielleicht weiss ja jemand wo die Box die Anruflisten speichert?
 
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"
 
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?
 
Zuletzt bearbeitet:
das ganze muss in eine Datei geschrieben werden, und diese kann dann per cron ausgeführt werden
 
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.
 
Zuletzt bearbeitet:
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
 
Es funktioniert auch ohne Login-Teil.
Ist IMO auch unnötig, da cron mit "Systemrechten" läuft.
 
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.
 
Zuletzt bearbeitet:
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
 
Hast du Linux-Zeilenende beachtet?

MfG Oliver
 
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
 
reimundko schrieb:
Ich habe den folgenden CODE genommen und abgespeichert.
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?
 
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
 
Was passiert denn, wenn du
export REQUEST_METHOD="POST"
eingibst ? "Not found" ?
 
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"
 
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
 
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.