Confixx2 Trafficbegrenzung

Plesk, Confixx, Froxlor, SysCP, SeCoTo, IspCP, etc.
mezga
Posts: 147
Joined: 2002-12-10 13:59
 

Confixx2 Trafficbegrenzung

Post by mezga »

Hallo.

Geht die Trafficbegrenzung bei Confixx2 nun? Wenn ja, wie ?

Wenn ich 10MB Traffic einstelle, dann wird bei Ã?berschreitung das zwar unterlegt, aber die Seite ist immer noch zu erreichen...
sascha
Posts: 1325
Joined: 2002-04-22 23:08
 

Re: Confixx2 Trafficbegrenzung

Post by sascha »

Geht nicht...
cyberline
Posts: 97
Joined: 2003-01-28 10:11
Location: Hürth
 

Re: Confixx2 Trafficbegrenzung

Post by cyberline »

Ich sag mal so: Confixx 2 kann es im Prinzip nicht, aber es ist durchaus denkbar einen cronjob mit einem PHP script zu erstellen, welches bei Ã?berschreiten des Traffics den entsprechenden Kunden in der Datenbank auf gesperrt setzt. den Rest erledigt COnfixx ja dann selber beim minütlichen update...

Falls Interesse besteht einfach melden...
amicus
Posts: 28
Joined: 2002-07-02 16:34
Location: Menden
Contact:
 

Re: Confixx2 Trafficbegrenzung

Post by amicus »

*meld*
bimbo
Posts: 19
Joined: 2002-12-05 13:46
 

Re: Confixx2 Trafficbegrenzung

Post by bimbo »

*fingerindieluftstreck*
scopeman
Posts: 62
Joined: 2002-05-15 20:22
Location: MG
 

Re: Confixx2 Trafficbegrenzung

Post by scopeman »

verlesen :)
cyberline
Posts: 97
Joined: 2003-01-28 10:11
Location: Hürth
 

Re: Confixx2 Trafficbegrenzung

Post by cyberline »

einfach ne Datei anlegen, z.B. "check_traffic.php":
===============================================

#!/usr/bin/php
<?
$db = mysql_connect("localhost","<MYSQL_USER>","<MYSQL_PW>");

$query = mysql_query("SELECT * FROM confixx.kunden ORDER BY kunde");
$monat = date("m"); $jahr = date("Y");

while($result = mysql_fetch_array($query)) {

$qtraffic = mysql_query("SELECT (sum(ftp) + sum(web) + sum(email)) AS gtransfer FROM confixx.transfer WHERE kunde='$result[kunde]' AND monat='$monat' AND jahr='$jahr' AND geloescht='0'");

$traffic = mysql_fetch_array($qtraffic);
if($result[maxtransfer]<=$traffic["gtransfer"] && $result[maxtransfer] != "-1") {
mysql_query("UPDATE confixx.kunden SET gesperrt='1' WHERE kunde='$result[kunde]'");
}
}

mysql_close($db);
?>

===============================================

danach

chmod 755 check_traffic.php

und nen cronjob anlegen:

* * * * * /path/to/check_traffic.php >/dev/null 2>&1
amicus
Posts: 28
Joined: 2002-07-02 16:34
Location: Menden
Contact:
 

Re: Confixx2 Trafficbegrenzung

Post by amicus »

funzt prima danke...

will ned unverschämt erscheinen...aber könnte man das auch noch erweitern dasser auch wieder entsperrt wenn der traffic wieder unter dem Limit ist (neuer Monat)?

also nur wenn du lust hast....
cyberline
Posts: 97
Joined: 2003-01-28 10:11
Location: Hürth
 

Re: Confixx2 Trafficbegrenzung

Post by cyberline »

Gleiches Spiel unlock.php erstellen:
===============================================

#!/usr/bin/php
<?
$db = mysql_connect("localhost","<MYSQL_USER>","<MYSQL_PW>");
mysql_query("UPDATE confixx.kunden SET gesperrt='0' WHERE 1");
mysql_close($db);
?>

===============================================

chmod 755 unlock.php

Hier reicht ein Croneintrag:

1 0 1 * * /path/to/unlock.php >/dev/null 2>&1

Das entsperrt dann alle Kunden eine Minute nach Mitternacht eines neuen Monats.
Beachte nur das das ALLE kunden entsperrt werden, also auch die, die wegen Zahlungsverzug oder so Manuell gesperrt wurden.
cyberline
Posts: 97
Joined: 2003-01-28 10:11
Location: Hürth
 

Re: Confixx2 Trafficbegrenzung

Post by cyberline »

Aber mal was anderes: warum stellste den Ã?berhangtraffik deinen Kunden nicht einfach in Rechnung und schlägst noch was oben drauf ???

Ein Script um das zu Berechnen hab ich auch :)
mezga
Posts: 147
Joined: 2002-12-10 13:59
 

Re: Confixx2 Trafficbegrenzung

Post by mezga »

Wow, super !

ja, das Beste wäre, wenn ich eine E-Mail bekommen würde, wenn das Limit übrschritten wurde...

Da muss ich dann statt: "mysql_query("UPDATE confixx.kunden SET gesperrt='1' WHERE kunde='$result[kunde]'"); ",
mit sendmail irgendwetwas machen. Wei jemand wie man mit Sendmail über PHP eine E-Mail z.B. zu info@domain.de schickt ? Dann muss ich nicht so lang suchen :)
amicus
Posts: 28
Joined: 2002-07-02 16:34
Location: Menden
Contact:
 

Re: Confixx2 Trafficbegrenzung

Post by amicus »

CyberLine wrote:Aber mal was anderes: warum stellste den Ã?berhangtraffik deinen Kunden nicht einfach in Rechnung und schlägst noch was oben drauf ???

Ein Script um das zu Berechnen hab ich auch :)
weil ich keine zahlenden Kunden habe.

Ich habe lediglich einigen Freunden webspaceaccounts gegeben.
Und da ich manchmal mehrere Tage nicht daheim bin, die Jungs aber manchmal etwas "grosszügig" mit ihrem Traffic umgehen brauchte ich ne automatisch-auf-die-finger-klopf-Methode
cyberline
Posts: 97
Joined: 2003-01-28 10:11
Location: Hürth
 

Re: Confixx2 Trafficbegrenzung

Post by cyberline »

Na denn, also willste Zusätzlich noch ne Mailbenachrichtigung bei Ã?berschreiten oder statt dem Sperren ?

bau folgende Zeilen ein:


$text = "Der Kunde $result[kunde] hat seinen erlaubten Traffic von $result[maxtransfer] kb überschritten und wurde gesperrt!";
mail("info@domain.de","Trafficüberschreitung $result[kunde]",$text,"From: webmaster@$SERVER_NAMEnReply-To: webmaster@$SERVER_NAMEnX-Mailer: PHP/" . phpversion());


Wenn du nur eine Mail möchtest dann ersetz die mysql_query( ... geschichte wie du sagtest oder setz die zwei sachen untendrunter.
amicus
Posts: 28
Joined: 2002-07-02 16:34
Location: Menden
Contact:
 

Re: Confixx2 Trafficbegrenzung

Post by amicus »

dickes danke @ cyberline
eisi
Posts: 65
Joined: 2002-10-05 16:07
 

Re: Confixx2 Trafficbegrenzung

Post by eisi »

da kommt beim ausführen folgender fehler:
/usr/bin/php: error while loading shared libraries: libltdl.so.0: cannot load shared object file: No such file or directory
kann mir einer weiter helfen? :)

danke schonmal!
cyberline
Posts: 97
Joined: 2003-01-28 10:11
Location: Hürth
 

Re: Confixx2 Trafficbegrenzung

Post by cyberline »

eiSi wrote:da kommt beim ausführen folgender fehler:
/usr/bin/php: error while loading shared libraries: libltdl.so.0: cannot load shared object file: No such file or directory
kann mir einer weiter helfen? :)

danke schonmal!
schau mal in deine php.ini meist zu finden unter /etc/php.ini
ob da eine Zeile steht:

extension=libltdl.so

Wenn ja mach ein ; davor und starte Apache neu, ansonsten würd ich sagen du mußt mal php neu Compilieren.
Wenn du es gar nicht mit php auf Kommandoebene hinbekommst, dann lösch die erste Zeile aus dem Script:

#!/usr/bin/php

und leg das script in einen Ordner, der über Internet erreichbar ist, und änder den Croneintrag wie folgt:

* * * * * lynx -dump http://meine.domain.de/check_traffic.php >/dev/null 2>&1
failsafe
Posts: 41
Joined: 2002-09-05 20:58
Location: Oldenburg
Contact:
 

Re: Confixx2 Trafficbegrenzung

Post by failsafe »

Hmm wäre dies hir nicht etwas für Download-section bzw. FAQ?

Auf alle Fälle ein dickes daumen hoch!!!
mezga
Posts: 147
Joined: 2002-12-10 13:59
 

Re: Confixx2 Trafficbegrenzung

Post by mezga »

Hab noch ne ergänzung zum Script von CyberLine :

Wenn ich es ausführe, dann wird zwar diesem Kunden der Zugriff auf das Confixx Menü gesperrt, aber die HTML Seite, wie auch Mail und FTP sind noch voll erreichbar.

Das dies auch gesperrt wird, muss man in der Tabelle "allgemein" in der Confixx DB noch 2 Werte von 0 auf 1 ändern, damit das counterscript merkt, dass sich was getan hat und dann die FTP-User und ApacheVitualHost Datei neu generiert.

Das hier einfach unter
"mysql_query("UPDATE confixx.kunden SET gesperrt='1' WHERE kunde='$result[kunde]'");"
einfügen:

mysql_query("UPDATE confixx.ftp SET gesperrt='1' WHERE kunde='$result[kunde]'");
mysql_query("UPDATE confixx.pop3 SET gesperrt='1' WHERE kunde='$result[kunde]'");
mysql_query("UPDATE confixx.allgemein SET newpwd='1', httpd='1'");



Bei dem User-Freischalt-Script muss das hier eingefügt werden:

mysql_query("UPDATE confixx.ftp SET gesperrt='0' WHERE 1");
mysql_query("UPDATE confixx.pop3 SET gesperrt='0' WHERE 1");
mysql_query("UPDATE confixx.allgemein SET newpwd='1', httpd='1'");



Eigentlich bräuchte man nur jeweils die letzte Zeile, aber die ftp Zeile sperrt dann auch noch die zusätzlichen FTP-Benutzer und die pop3 Zeile alle Postfächer des betreffenden Kunden.
cyberline
Posts: 97
Joined: 2003-01-28 10:11
Location: Hürth
 

Re: Confixx2 Trafficbegrenzung

Post by cyberline »

> mysql_query("UPDATE confixx.allgemein SET newpwd='1', httpd='1'");

Im sperren Teil, öhm muß da nicht dann auch WHERE kunde='$result[kunde]' hinter ??? Ich denk frag ma...

Ich hab doch keine Ahnung davon *ggg*

Ich hätt da nochn script: http://www2.highspeedhost.de/load.html

Wer sowas braucht mal per pm oder ICQ melden dann mail ich das rüber weil is zu lang fürs Forum :)
mezga
Posts: 147
Joined: 2002-12-10 13:59
 

Re: Confixx2 Trafficbegrenzung

Post by mezga »

ne, WHERE muß da nicht hin. Weil es da nur ein Eintrag gibt und der sagt dem Counterscript das es jetzt was zu tun hat....
cyberline
Posts: 97
Joined: 2003-01-28 10:11
Location: Hürth
 

Re: Confixx2 Trafficbegrenzung

Post by cyberline »

Mezga wrote:ne, WHERE muß da nicht hin. Weil es da nur ein Eintrag gibt und der sagt dem Counterscript das es jetzt was zu tun hat....
ahso, ich sag ja da versteh ich nix von *grins*
mezga
Posts: 147
Joined: 2002-12-10 13:59
 

Re: Confixx2 Trafficbegrenzung

Post by mezga »

ja, habs auch erst gemerkt wo Dein Script nicht getan hat. Hab übrigens noch ne kleine Verbesserung für die Nachricht die per E-Mail kommt.

$text = "Der Kunde $result[kunde] hat seinen erlaubten Traffic von ".($result[maxtransfer] / 1024)." MB um ".round((($traffic[gtransfer] - $result[maxtransfer]) / 1024),2)." MB überschritten und wurde deswegen automatisch gesperrt!" ;

Die kb angaben haben mir nicht gefallen :)
Last edited by mezga on 2003-01-29 13:59, edited 1 time in total.
cyberline
Posts: 97
Joined: 2003-01-28 10:11
Location: Hürth
 

Re: Confixx2 Trafficbegrenzung

Post by cyberline »

man kann dem Kunden ja theoretisch auch so eine mail zukommen lassen damit er auch was davon weiß :)
Last edited by cyberline on 2003-01-29 14:06, edited 1 time in total.
eisi
Posts: 65
Joined: 2002-10-05 16:07
 

Re: Confixx2 Trafficbegrenzung

Post by eisi »

CyberLine wrote:
eiSi wrote:da kommt beim ausführen folgender fehler:
/usr/bin/php: error while loading shared libraries: libltdl.so.0: cannot load shared object file: No such file or directory
kann mir einer weiter helfen? :)

danke schonmal!
schau mal in deine php.ini meist zu finden unter /etc/php.ini
ob da eine Zeile steht:

extension=libltdl.so

Wenn ja mach ein ; davor und starte Apache neu, ansonsten würd ich sagen du mußt mal php neu Compilieren.
Wenn du es gar nicht mit php auf Kommandoebene hinbekommst, dann lösch die erste Zeile aus dem Script:

#!/usr/bin/php

und leg das script in einen Ordner, der über Internet erreichbar ist, und änder den Croneintrag wie folgt:

* * * * * lynx -dump http://meine.domain.de/check_traffic.php >/dev/null 2>&1

danke cyber, habe die libltdl.so einfach mal zu libltdl.so.0 kopiert, und siehe da, es läuft ... fast:
PHP Warning: Use of undefined constant maxtransfer - assumed 'maxtransfer' in ./check_traffic.php on line 12
PHP Warning: Use of undefined constant maxtransfer - assumed 'maxtransfer' in ./check_traffic.php on line 12
PHP Warning: Use of undefined constant maxtransfer - assumed 'maxtransfer' in ./check_traffic.php on line 12
PHP Warning: Use of undefined constant maxtransfer - assumed 'maxtransfer' in ./check_traffic.php on line 12
PHP Warning: Use of undefined constant maxtransfer - assumed 'maxtransfer' in ./check_traffic.php on line 12
PHP Warning: Use of undefined constant maxtransfer - assumed 'maxtransfer' in ./check_traffic.php on line 12
PHP Warning: Use of undefined constant maxtransfer - assumed 'maxtransfer' in ./check_traffic.php on line 12
PHP Warning: Use of undefined constant maxtransfer - assumed 'maxtransfer' in ./check_traffic.php on line 12
habe ich einfach mal $result[maxtransfer] in $result['maxtransfer'] umbennant, und nu funzts :D

danke nochmal!
bingo
Posts: 88
Joined: 2002-08-21 06:01
Location: Hannover
Contact:
 

Re: Confixx2 Trafficbegrenzung

Post by bingo »

Moin...

Sieht ja recht nett aus was hier so gecodet worden ist...

Wie sieht denn jetzt das Endergebnis aus, und funktioniert das auch noch mit der aktuellen 2.0.8er Version?

Danke und Gruss
Bingo
Post Reply