Das Infolexikon
...und Blog über die Uni FrankfurtInformatik und Kram
Da wir lange nicht wußten, wo wir das für die Uni ausgearbeitete Material unterbringen sollten und auch einen schrecklichen Drang hatten der Welt diverse Sachen aufzudrücken...
| Onlinebanking, Shell & Gkrellm |
Online-banking gibts schon lange, aber da ich meistens eigentlich nur meinen aktuellen Kontostand wissen will, sind mir die fünf klicks und Eingabe von Konto-Nr. und Passwort schon zuviel für so nen einfachen task. Glücklicherweise benutzen die meisten deutschen Banken mittlerweile HBCI mit dem PIN/TAN-Verfahren, ich brauch also nicht mal nen Chipkartenleser dafür. Und da gkrellm sowieso immer läuft, bietet sich das super an, um den Kontostand immer aktuell anzeigen zu lassen.
( dieses Tutorial wurde auf arch-linux zugeschnitten, sollte aber ohne weiteres auch auf anderen Distributionen funktionieren! )
gwenhywfar ktoblzcheck aqbanking sind alle im arch-repository zu finden!aqbanking-cli muss man selbst compilen, gibts direkt vom Entwickler
Dazu muss ein Benutzer angelegt werden, eine BLZ und Kontonummer. Ausserdem braucht man das Zertifikat von der Bank. Das ganze kann man nach diesem Tutorial machen, oder (so hab ichs gemacht) mit gnuCash ( ACHTUNG, das muss mit hbci-enabled compiled werden, in den arch-repositorys ist es nur ohne drin), denn hier gibt es einen netten, grafischen assistenten für die Einrichtung (die hier erstelle Konfiguration von aqhbci kann dann auch von anderen Programmen verwendet werden!).
erstellt ein leeres Pinfile, dass ihr nur noch öffnen müsst, und die PIN für euer Onlinebanking eintragen!
Und um das ganze jetzt in Klartext umzuwandeln liefert aqbanking-cli auch gleich noch ein tool mit:
Ich hab mir dazu folgendes Skript ( check_kto.sh) angelegt:
Vorarbeit
benötigte Pakete
HBCI einrichten
aqbanking hat uns das aqhbci-tool3 mitgebracht, mit dem wir unsere hbci-Konten verwalten können.Dazu muss ein Benutzer angelegt werden, eine BLZ und Kontonummer. Ausserdem braucht man das Zertifikat von der Bank. Das ganze kann man nach diesem Tutorial machen, oder (so hab ichs gemacht) mit gnuCash ( ACHTUNG, das muss mit hbci-enabled compiled werden, in den arch-repositorys ist es nur ohne drin), denn hier gibt es einen netten, grafischen assistenten für die Einrichtung (die hier erstelle Konfiguration von aqhbci kann dann auch von anderen Programmen verwendet werden!).
Pinfile für aqbanking-cli
Da das commandline-tool von aqbanking ja automatisch im Hintergrund laufen soll, wollen wir natürlich auch kein Passwort eintippen, deshalb legt man ein Pinfile an.aqhbci-tool3 mkpinlist
Sachen abrufen und anzeigen
BLZ = Bankleitzahl, KTO = Kontonummer !Umsätze und Kontostand abholen
Wenn hbci erfolgreich eingerichtet wurde, und ihr aqhbci-cli habt, könnt ihr mit diesem tool folgendermassen den Kontostand abfragen und in ein file schreiben:./aqbanking-cli.sh -n -P ~/.pinfile.pin request \ -b BLZ -a KTO -c test.ctx --balance
aqbanking-cli.sh listbal -b BLZ -a KTO -c test.ctx
Automatisieren
Bash-Skript
Jetzt kann man das schön automatisiert machen lassen alles!Ich hab mir dazu folgendes Skript ( check_kto.sh) angelegt:
#!/bin/sh
~/banking-cli/aqbanking-cli.sh \
-n -P ~/.pinfile.pin \
request -b BLZ -a KTO \
-c ~/test.ctx --balance &&
~/banking-cli/aqbanking-cli.sh \
listbal -b BLZ -a KTO \
-c ~/test.ctx \
| awk '{print $6 "€"}' > ~/.kontostand &&
echo "Kontostand geholt:" >> ~/.kontostand &&
echo `date` >> ~/.kontostand
Cronjob
Dieses skript in /usr/bin verschoben, mit chmod +x ausführbar gemacht, und anschliessend mit crontab -e als Cronjob alle zwei Stunden ausführen lassen:* */2 * * * /usr/bin/check_kto.sh
Gkrellm
Man könnte jetzt natürlich ein gkrellm-plugin schreiben, was den Cronjob ersetzt. Leider hatte ich nicht so viel Zeit, daher hab ichs mal wieder (jaja, sry, meissner) dirty gemacht. Es gibt nämlich schon ein gkrellm-plugin, dass eine Datei ausliest und deren erste Zeile in gkrellm ausgibt. Also einfach das plugin installieren, und dort die Datei ~/.kontostand ausgeben lassen, fertig!Das tool liest alle zehn Sekunden das file, das war mir etwas zu häufig, man kann im src des plugins nach GK.ten_second_tick suchen und diesen durch GK.minute_tick ersetzen, dann wird nur alle 60 seks. das file ausgelesen
| Erstellt | 31. Januar 2009 11:26:37 | Geändert | 28. Februar 2009 14:03:49 |
|---|---|---|---|
| Von | Tobias Weis | Kategorien | Sonstiges Linux |
| 0 Kommentar(e) | |||