Openvpn Statistik Script funktioniert nicht

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
pcace
Beiträge: 239
Registriert: 28.08.2011 01:08:55

Openvpn Statistik Script funktioniert nicht

Beitrag von pcace » 20.07.2012 18:33:13

Hallo,

ich habe hier http://blog.grufo.biz/2009/01/openvpn-s ... -tool.html ein script gefunden, was so ziemlich genau das macht, was ich suche: statistiken zu meinem Openvpn Server sammeln.

Leider funktioniert es nicht so wirklich. es ist hier in voller länge zu finden: NoPaste-Eintrag36571

Code: Alles auswählen

### config start

INT=192.168.100.240
OVPNLOG="/etc/openvpn/openvpn-status.log"
VPNNET="10.99.1"
MYSQLHOST=127.0.0.1
MYSQLUSER=root
MYSQLPWD=secret
MYSQLDB=statistics
VPNTABLE=openvpn

### config end

diesen teil habe ich so angepasst:

Code: Alles auswählen

### config start

INT=192.168.10.100
OVPNLOG="/home/users/scripts/openvpn_stats/status.log"
VPNNET="192.168.10.1"
MYSQLHOST=127.0.0.1
MYSQLUSER=root
MYSQLPWD=secret
MYSQLDB=statistics
VPNTABLE=openvpn

### config end

scheinbar funktioniet das auch einigermaßen, leider wird nur kauderwelsch in die datenbank geschrieben. Ich denke das Problem liegt hier:

Zeile 36/37:

Code: Alles auswählen

AKTDATE=$(echo $i|awk -F',' '{print $5}')
AKTDATE=$(date -d "$AKTDATE" +%F" "%T)
denn wenn ich in Zeile 25 das -n bei dem ersten sed befehl wegnehme, bekomme ich folgende error meldungen:

Code: Alles auswählen

./openvpn_status.sh 
date: ungültiges Datum „Virtual Address“
date: ungültiges Datum „58055“
date: ungültiges Datum „29922“
date: ungültiges Datum „Real Address“
daraufhin werden irgendwelche daten in die sql datenbank eingetragen, nur nicht so wie es sein soll!

Sieht da irgendjemand einen Fehler? Ich bin leider noch sehr weit am Anfang - was scripte etc angeht und schaue einfach nicht durch, wo der fehler liegen könnte!


Ideen?!


Danke,

Pcace

pcace
Beiträge: 239
Registriert: 28.08.2011 01:08:55

Re: Openvpn Statistik Script funktioniert nicht

Beitrag von pcace » 21.07.2012 09:38:25

Ok,


ich habs selber geschafft:

Zeile 25 im script muss in folgende geändert werden:

OLOG=$(grep CLIENT_LIST status.log | awk '{ FS = ","} {print $2","$3","$5","$6","$7","$4}' | sed -e '1d')

Zeile 44 muss so aussehen:

VPNADDR=$(grep "$CNAME" status.log |awk -F',' '{print $4}' | sed -e '$d')


Gruß


Pcace

Antworten