[Suche] Taraffic überwachung pro User ohne schnick schnak ;D

Bash, Shell, PHP, Python, Perl, CGI
cybdev
Posts: 11
Joined: 2002-12-24 00:05
Location: Lünen

[Suche] Taraffic überwachung pro User ohne schnick schnak ;D

Post by cybdev »

HI,

Ich erklär mal kurz mein Prob. Ich hab nen Debian woody Server an laufen, wo nur ssh und proftp dauf leuft. Er soll als backup Server fungieren.

Mit Proftpd hab ich jetzt also 10 User z.b ...

Jetzt will ich, an Monatsende, das kontrilieren was der einzehlnde User so verbraten hat. Ssh soll nicht berüchsichtige werden, nur FTP, weil ssh auf meine kappe geht.

Es ist auf den Server nix drauf, kein Web oder Sql server.

Ich suche also ein einfaches script, was mir an Monatsende, ganz simpel per console die Gigabyte zahlen pro user auspuckt.

Will kein schnick schnack, ganz simpel.

Kennt ihr so ein script ?
Anonymous

Re: [Suche] Taraffic überwachung pro User ohne schnick schnak ;D

Post by Anonymous »

Stell die proFTPd logging Funktionen so ein, dass er jeden Zugriff logged z.B. nach dem Muster Monat@traffic-in-bytes@user (siehe proFTPd FAQ) und dann schreib ein script welches das aufaddiert und ggf. teilt (so hab ichs gemacht) :wink:
cybdev
Posts: 11
Joined: 2002-12-24 00:05
Location: Lünen

Re: [Suche] Taraffic überwachung pro User ohne schnick schnak ;D

Post by cybdev »

super idee ! das geil.

Wer nett wen du mir dein script mal schicken könntest, ich bastel mir das dann mal um

Thx 4 help
Anonymous

Re: [Suche] Taraffic überwachung pro User ohne schnick schnak ;D

Post by Anonymous »

Code: Select all

#!/usr/bin/tclsh
###
### FTP Traffic Parser by smashie
###

set fs "[open /var/log/ftp_traffic.log r]"
set i "0"
while {![eof $fs]} {
        gets $fs line($i)
        if {![regexp -all -nocase {^(.*)@(.*?)@(.*?)$} $line($i) temp month($i) traffic($i) user($i)]} {
                continue
        } elseif {$traffic($i)=="-"} {
                continue
        } else {
        if {![info exists traffic($user($i)@$month($i))]} {
                set traffic($user($i)@$month($i)) "0"
                set u($user($i)@$month($i)) "$i"
        }
        set traffic($user($i)@$month($i)) "[expr $traffic($user($i)@$month($i)) + $traffic($i)]"
        incr i
        }
}
close $fs
set cmonth "[clock format [clock seconds] -format %m]"
for {set x 0} {$x<$i} {incr x} {
        if {[info exists u($user($x)@$month($x))] && [info exists traffic($user($x)@$month($x))]} {
                puts "Traffic for $user($x) => $traffic($user($x)@$month($x)) => $month($x)"
                unset traffic($user($x)@$month($x))
        }
}
:wink:
cybdev
Posts: 11
Joined: 2002-12-24 00:05
Location: Lünen

Re: [Suche] Taraffic überwachung pro User ohne schnick schnak ;D

Post by cybdev »

Danke,

das kann ich echt gut gebrauchen, genau das was ich suche.

Big thx
Anonymous

Re: [Suche] Taraffic überwachung pro User ohne schnick schnak ;D

Post by Anonymous »

Cybdev wrote:Danke,

das kann ich echt gut gebrauchen, genau das was ich suche.

Big thx
kein Problem ;) .. ich setze das ganze in Verbindung mit mysqltcl ein (sofern du eine neue Version brauchst in Verbindung mit tcl8.4/tcl8.4-dev von backports.org) dann knall dir

Code: Select all

deb http://smashie.de/debian stable mysqltcl
in deine /etc/apt/sources.list und zieh es mittels

Code: Select all

apt-get install mysqltcl
..

Ich denke es ist generell besser sowas in einer DB zu verwalten :wink: