Das Script ruft die Login-Seite auf, merkt sich die Session-ID und springt nach dem Login zur Download-Seite. Nutzernamen und Passwort gibt man fest ein; der Zeitraum, für den die Logs abgerufen werden sollen, wird hier über die beiden Kommandozeilen-Parameter ($1 und $2) festgelegt. Diese sind Zahlen zwischen 0 (vor 46 Tagen) und 46 (heute). Es empfiehlt sich, per Cronjob täglich das Logfile von gestern (45) herunterzuladen.
Mittlerweile funktioniert das wohl nicht mehr exakt so, aber als Vorlage für jemanden, der weiß, was er tut sollte es reichen:
#!/bin/sh
USERNAME=webseite.de
PASSWD=geheim
SESSIONID=`curl -sk "https://www.strato.de/apps/CustomerService?ssl=X" | grep sessionID | awk -F\? '{print $2}' | sed "s/\&.*//"`
curl -sk -d ${SESSIONID} -d ssl=X -d user=${USERNAME} -d pass=${PASSWD} -d offlineTestApr2006=X -d action_login.x=1 "https://www.strato.de/apps/CustomerService" > /dev/null
curl -sk -d ${SESSIONID} -d node=kds_LogfileDownload -d start=$1 -d stop=$2 -d go=1 "https://www.strato.de/apps/CustomerService" >/dev/null
curl -sk -d ${SESSIONID} -d node=kds_LogfileDownload -d start=$1 -d stop=$2 -d dl=1 "https://www.strato.de/apps/CustomerService" |gunzip >>strato.log.new
curl -sk -d ${SESSIONID} -d node=kds_Logout "https://www.strato.de/apps/CustomerService" >/dev/null
Eigentlich könnte man auf diese Art auch den Strato Communicator fernsteuern, um SMS zu versenden. Hackt das mal jemand?