Gesprächsdatenliste automatisch downloaden

[quote=Struppi]jetzt wäre es noch schön,
wenn jemand ein kleines Progrämmle schreibt, wo man die Daten der TK-Anlage sowie die Ausgabe-Ordner angeben kann.
[/quote]

Mein kurzer code kann das. Also nochmal in etwas abgewandelter Form:

#!/bin/sh

# hier das Verzeichnis eintragen, wo die Daten hingehen sollen:
outputfile=/home/foobar/Auerswald-Gesprächsdaten/daten/csv-$(date +%Y-KW%V).gz
# hier wird der cookie gespeichert, muss man aber nicht ändern:
cookie=/tmp/cookie.txt
# IP-Adresse der TK-Anlage:
auerswald=192.168.1.99
# Passwort:
passwort=999999
curl -s --cookie-jar $cookie -o /dev/null -d "LOGIN_NAME=admin" -d "LOGIN_NOW=" -d "LOGIN_PASS=$passwort" http://$auerswald/login_json
curl -s --cookie $cookie -o /dev/null http://$auerswald/page_listgespr_export
curl -s --cookie $cookie --location -o $outputfile http://$auerswald/data_tmp/gespr_dat.csv.gz
curl -s --cookie $cookie -o /dev/null http://$auerswald/appclose
rm $cookie

Man muss das Zielverzeichnis /home/foobar/Auerswald-Gesprächsdaten/daten/ anlegen.
Das Skript abspeichern als Auerswald-Gesprächsdaten-runterlade-progamm-was-ich-gern-hab.sh
und mit chmod 755 versehen.

Und dann per cronjob regelmäßig aufrufen lassen.

viel spass

hi Zoo,

jetzt stell ich mich ganz hölzern an.
Habe mit curl 0 Erfahrung und hatte gehofft, jemand kreiiert eine kleine exe… :floet:

danke trotzdem und viele Grüße

Hallo,

Hier is a Windows version, username and password must be passed as parameters:

To use it: extract.cmd admin xxxxxx

@ECHO OFF
REM The name of this file is extract.cmd
REM

REM Name of the extracted file
SET outputfile=extract.gz

REM Cookie file
SET cookie=%TEMP%cookie-dial.txt

REM Auerswald IP address
SET auerswald=192.168.1.99

REM Username (internal number or admin)
SET username=%1

REM password
SET password=%2

REM Path to the curl executable:
REM You can download a windows static file of curl here (extract only curl.exe) :
REM http://curl.haxx.se/gknw.net/7.27.0/dist-w32/curl-7.27.0-rtmp-ssh2-ssl-sspi-zlib-idn-static-bin-w32.zip
SET curl=C:\curl\curl.exe

%curl% -s --cookie-jar %cookie% -o NUL -d “LOGIN_NAME=%username%” -d “LOGIN_NOW=” -d “LOGIN_PASS=%password%” http://%auerswald%/login_json
%curl% -s --cookie %cookie% -o NUL http://%auerswald%/page_listgespr_export
%curl% -s --cookie %cookie% --location -o %outputfile% http://%auerswald%/data_tmp/gespr_dat.csv.gz
%curl% -s --cookie %cookie% -o NUL http://%auerswald%/appclose

DEL %cookie%

SET outputfile=
SET cookie=
SET auerswald=
SET username=
SET password=

Best regards !

André

…super!
nur eine Kleinigkeit;
ich musste bei mir einen backslash bei SET cookie=%TEMP% anhängen;

also: SET cookie=%TEMP%\

super sache!

Update:

#!/bin/bash
cd /home/claas/Auerswald-Gesprächsdaten/
# Das Verzeichnis muss existieren bzw. geändert werden.

# outputfile=./daten/csv-$(date +%Y-%m).gz
outputfile=./daten/csv-$(date +%Y-KW%V).gz
auerswald=192.168.178.5
passwort=999999
curl -s --cookie-jar cookie.txt -o /dev/null -d "LOGIN_NAME=admin" -d "LOGIN_NOW=" -d "LOGIN_PASS=$passwort" http://$auerswald/login_json
curl -s --cookie cookie.txt -o /dev/null "http://$auerswald/page_listgespr_save?linepropage=100&filterCB=3"
curl -s --cookie cookie.txt -o /dev/null "http://$auerswald/page_listgespr_export"
curl -s --cookie cookie.txt --location -o $outputfile http://$auerswald/data_tmp/gespr_dat.csv.gz
curl -s --cookie cookie.txt -o /dev/null http://$auerswald/appclose
rm cookie.txt
## Daten chronologisch sortieren und dann gzippen...
zieldatei=./daten/csv-$(date +%Y-KW%V).sorted
[ -f $zieldatei ] && rm $zieldatei
[ -f $zieldatei.gz ] && rm $zieldatei.gz

zcat $outputfile | cut -f 2- | grep -v ^Datum | while read i; do
        datum=$( echo $i| cut -d " " -f 1)
        tag=$(echo $datum|cut -d . -f 1)
        monat=$(echo $datum|cut -d . -f 2)
        jahr=$(echo $datum|cut -d . -f 3)
        echo "20$jahr.$monat.$tag /// $i" >> $zieldatei
done
sort $zieldatei > $zieldatei.sorting
mv $zieldatei.sorting $zieldatei
gzip $zieldatei

# globale Datei erstellen und gzippen...
zcat ./daten/*.sorted.gz | sort -u > ./daten/csv-global
gzip -f ./daten/csv-global

Ich hatte das Problem, dass die automatischen Exporte plötzlich nicht mehr sauber liefen. Ihc habe herausgefunden, dass die Voreinstellung des Filters gespeichert wurde und das auch meinen Export betraf. Also muss der Filter vor dem Export nochmal gespeichert werden, damit man nicht die Falsche Filterung erhält.

Also ist diese Zeile neu:
curl -s --cookie cookie.txt -o /dev/null “http://$auerswald/page_listgespr_save?linepropage=100&filterCB=3

Filter 3 = aktuelle Woche, Filter 0 ist ungefiltert.

Mein obiges Skript wird täglich per Cronjob aufgerufen und legt die Gesprächsdaten immer in pro aktuelle Woche in eine eigene Datei. Am ENde wird noch eine Datei mit dem kompletten Zeitraum erzeugt.