Confixx2 Trafficbegrenzung
-
rhartinger
- Posts: 16
- Joined: 2003-04-28 10:31
gibt es alle dateien zum laden
hab auch das problem das mein transfervolumen nicht angezeigt wird. geht das mit euren dateien? gibt es alle dateien komplett irgendwo zum laden mit anleitung?
Re: Confixx2 Trafficbegrenzung
bei mir funktioniert das mit cronjob nicht habe es auch so probiert* * * * * lynx -dump http://meine.domain.de/check_traffic.php >/dev/null 2>&1 , aber wenn ich das script Browser aufrufe klapt es :?:
Re: Confixx2 Trafficbegrenzung
Super Scripte! Die funktionieren 1a :-D
Großes Lob an alle Beteiligten.
Großes Lob an alle Beteiligten.
Re: Confixx2 Trafficbegrenzung
ich hab das ganz einfach gelöst:CyberLine wrote:man kann dem Kunden ja theoretisch auch so eine mail zukommen lassen damit er auch was davon weiß :)
Code: Select all
$text = "Sie haben ihren erlaubten Traffic von $result[maxtransfer] kb überschritten und wurden gesperrt!";
mail("$result[emailadresse]","Trafficüberschreitung ihres Webspaceaccounts",$text,"From: webmaster@xxx.netnReply-To: webmaster@xxx.netnX-Mailer: PHP/" . phpversion());-
distanzcheck
- Posts: 531
- Joined: 2003-01-09 08:58
- Location: NRW
Re: Confixx2 Trafficbegrenzung
könnte mir evtl. mal jemand diese dateien mailen ?
Dirk
Dirk
Re: Confixx2 Trafficbegrenzung
Hallo,
darf ich die Geschichte (und die Skripts) mit ins HowTo auf http://www.netsecond.net/howto/ aufnehmen ??
Gruß Outi
:D Gruß Outi :D
-
distanzcheck
- Posts: 531
- Joined: 2003-01-09 08:58
- Location: NRW
Re: Confixx2 Trafficbegrenzung
ist in dem download nun alles drin so mit email an mich und an kunden und angabe in MB ???
Wenn nicht könnte mir das evtl mal jemand mailen ?
Dirk
Wenn nicht könnte mir das evtl mal jemand mailen ?
Dirk
Re: Confixx2 Trafficbegrenzung
hmm.
Kleines Problem:
X-Powered-By: PHP/4.2.3
Content-type: text/html
<br />
<b>Warning</b>: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in <b>/path/traffic_check.php</b> on line <b>2</b><br />
<br />
BS Debian, Confixx 2.0.11
Was tun?
Danke
WolfHenk
Kleines Problem:
X-Powered-By: PHP/4.2.3
Content-type: text/html
<br />
<b>Warning</b>: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in <b>/path/traffic_check.php</b> on line <b>2</b><br />
<br />
BS Debian, Confixx 2.0.11
Was tun?
Danke
WolfHenk
-
sven-reichelt
- Posts: 92
- Joined: 2003-04-25 15:08
Re: Confixx2 Trafficbegrenzung
Was muss ich nun nehmen, um was zu ändern?
HTTP:
FTP:
POP3:
Confixx-Menü:
Kann mir da jemand helfen???
HTTP:
FTP:
POP3:
Confixx-Menü:
Kann mir da jemand helfen???
Mezga wrote: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.
Re: Confixx2 Trafficbegrenzung
ok, ich hab meine Sach nu am Laufen.
Meine Files sehen so aus:
traffic_check.php
traffic_unlock.php
Ich denke man sollte das noch erweitern um die Abfrage gesperrt = 0 aus der confixx.kunden. Leider hab ich nur wenig Plan von MySql und PHP, deswegen bitte ich mal hier um nen Vorschlag, den ich gerne teste und hier auch die Ergebnisse veröffentliche.
--
Ach das warums bei mir net ging: Ich hab Debian und mein Socket ist nicht /tmp/mysql.sock sondern /tmp/mysqld.sock.
Ich habe entsprechend ein symlink namens /tmp/mysql.sock erstellt, was nach /tmp/mysqld.sock verweist...
Wolfram
Meine Files sehen so aus:
traffic_check.php
und#!/usr/bin/php
<?
$dat = mysql_connect ("localhost","DBuser","DBpass");
$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_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'");
$text1 = "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!" ;
mail("wolfhenk@mydomain.de","Trafficüberschreitung $result[kunde]",$text1,"From: webmaster@mydomain.denReply-To: noreply@mydomain.denX-Mailer: PHP/" . phpversion());
$text2 = "Sehr geehrter Kunde,/nSie haben ihren erlaubten Traffic von ".($result[maxtransfer] / 1024)." MB um ".round((($traffic[gtransfer] - $result[maxtransfer]) / 1024),2)." MB überschritten./nIhr Webspace auf unserem Server wurde deswegen automatisch gesperrt!/nBitte setzen Sie sich mit uns in Verbindung, wenn Sie vor Ablauf des Monatsendes wieder freigeschaltet werden möchten/nSie erreichen uns unter +49 815 4711/nMit freundlichen Grüßen/nWolfHenk";
mail("$result[emailadresse]","Trafficüberschreitung ihres Webspaceaccounts",$text2,"From: webmaster@mydomain.denReply-To: webmaster@mydomain.denX-Mailer: PHP/" . phpversion());
}
}
mysql_close($dat);
?>
traffic_unlock.php
wobei: Wenn Traffic_check per Cron alle 5 Minuten läuft krieg ich UND der Kunde alle 5 Minuten ne Mail.#!/usr/bin/php
<?
$db = mysql_connect("localhost","DBuser","DBpass");
mysql_query("UPDATE confixx.kunden SET gesperrt='0' WHERE 1");
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'");
mysql_close($db);
mail("webmaster@mydomain.de","Trafficsperren geöffnet","Gesperrte Kunden wurden wieder geöffnet, bitte kontrollieren.","from: webmaster@mydomain.de");
?>
Ich denke man sollte das noch erweitern um die Abfrage gesperrt = 0 aus der confixx.kunden. Leider hab ich nur wenig Plan von MySql und PHP, deswegen bitte ich mal hier um nen Vorschlag, den ich gerne teste und hier auch die Ergebnisse veröffentliche.
--
Ach das warums bei mir net ging: Ich hab Debian und mein Socket ist nicht /tmp/mysql.sock sondern /tmp/mysqld.sock.
Ich habe entsprechend ein symlink namens /tmp/mysql.sock erstellt, was nach /tmp/mysqld.sock verweist...
Wolfram
Last edited by wolfhenk on 2003-08-18 05:58, edited 1 time in total.
Re: Confixx2 Trafficbegrenzung
@Sven Reichelt:
sperrt http; Es kommt das berühmte confixx-logo. Das ist wie wenn der Reseller das Account sperrt....
mysql_query("UPDATE confixx.ftp SET gesperrt='1' WHERE kunde='$result[kunde]'"); killt alle FTP zugänge
mysql_query("UPDATE confixx.pop3 SET gesperrt='1' WHERE kunde='$result[kunde]'"); verhindert POP3 mailerei
WH
mysql_query("UPDATE confixx.kunden SET gesperrt='1' WHERE kunde='$result[kunde]'");Was muss ich nun nehmen, um was zu ändern?
HTTP:
FTP:
POP3:
Confixx-Menü:
sperrt http; Es kommt das berühmte confixx-logo. Das ist wie wenn der Reseller das Account sperrt....
mysql_query("UPDATE confixx.ftp SET gesperrt='1' WHERE kunde='$result[kunde]'"); killt alle FTP zugänge
mysql_query("UPDATE confixx.pop3 SET gesperrt='1' WHERE kunde='$result[kunde]'"); verhindert POP3 mailerei
WH
Re: Confixx2 Trafficbegrenzung
Hi, ja mit dem Problem hab ich auch bis jetzt wegen fehlender PHP Kenntnisse gelebt. Aber inzwieschen kann ich PHP und MySQL relativ gut daher:WolfHenk wrote:wobei: Wenn Traffic_check per Cron alle 5 Minuten läuft krieg ich UND der Kunde alle 5 Minuten ne Mail.
Ich denke man sollte das noch erweitern um die Abfrage gesperrt = 0 aus der confixx.kunden. Leider hab ich nur wenig Plan von MySql und PHP, deswegen bitte ich mal hier um nen Vorschlag, den ich gerne teste und hier auch die Ergebnisse veröffentliche.
Wolfram
Code: Select all
$query = mysql_query("SELECT * FROM confixx.kunden ORDER BY kunde");
Code: Select all
$query = mysql_query("SELECT * FROM confixx.kunden WHERE gesperrt='0' ORDER BY kunde");
Code: Select all
$query = mysql_query("SELECT * FROM confixx.kunden WHERE gesperrt='0' AND anbieter='res2' ORDER BY kunde");
Re: Confixx2 Trafficbegrenzung
ok, getestet. Nu siehts bei mir so aus:
traffic_check.php
und
traffic_unlock.php
die Cronjobs:
Außerdem mußte ich im /tmp ein Symlink anlegen:
Dateiname: mysql.sock, Owner root, group root, chmod 777+sticky-bit
Ziel der Verknüpfung: /var/run/mysqld/mysqld.sock
das Ergebnis: eine Mail an den Kunden:
außerdem Seite gesperrt, Siehe hier:
traffic_check.php
Code: Select all
#!/usr/bin/php
<?
$dat = mysql_connect ("localhost","DBuser","DBpass");
$query = mysql_query("SELECT * FROM confixx.kunden WHERE gesperrt='0' 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_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'");
$text1 = "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!" ;
mail("wolfhenk@mydomain.de","Trafficüberschreitung $result[kunde]",$text1,"From: [email]webmaster@mydomain.de[/email]nReply-To: [email]noreply@mydomain.de[/email]nX-Mailer: PHP/" . phpversion());
$text2 = "Sehr geehrter Kunde,
Sie haben ihren erlaubten Traffic von ".($result[maxtransfer] / 1024)." MB um ".round((($traffic[gtransfer] - $result[maxtransfer]) / 1024),2)." MB überschritten.
Ihr Webspace auf unserem Server wurde deswegen automatisch gesperrt!
Bitte setzen Sie sich mit uns in Verbindung, wenn Sie vor Ablauf des Monats wieder freigeschaltet werden möchten.
Sie erreichen uns unter +49 (0)815 4711
Mit freundlichen Grüßen
Meine Wenigkeit";
mail("$result[emailadresse]","Trafficüberschreitung ihres Webspaceaccounts",$text2,"From: [email]webmaster@mydomain.de[/email]nReply-To: [email]webmaster@mydomain.de[/email]nX-Mailer: PHP/" . phpversion());
}
}
mysql_close($dat);
?>
traffic_unlock.php
Code: Select all
#!/usr/bin/php
<?
$db = mysql_connect("localhost","DBuser","DBpass");
mysql_query("UPDATE confixx.kunden SET gesperrt='0' WHERE 1");
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'");
mysql_close($db);
mail("webmaster@mydomain.de","Trafficsperren geöffnet","Gesperrte Kunden wurden wieder geöffnet, bitte kontrollieren.","from: [email]webmaster@mydomain.de[/email]");
?>
Code: Select all
10,20,30,40,50,00 * * * * root path/to/the/file/traffic.php > /dev/null 2
00 00 01 * * root path/to/the/file/traffic_unlock.php Dateiname: mysql.sock, Owner root, group root, chmod 777+sticky-bit
Ziel der Verknüpfung: /var/run/mysqld/mysqld.sock
das Ergebnis: eine Mail an den Kunden:
Eine Mail an mich:Sehr geehrter Kunde,
Sie haben ihren erlaubten Traffic von 1 MB um 0.07 MB überschritten.
Ihr Webspace auf meinem Server wurde deswegen automatisch gesperrt!
Bitte setzen Sie sich mit mir in Verbindung, wenn Sie vor Ablauf des Monats wieder freigeschaltet werden möchten. Sie erreichen mich unter +49 YYY YYY XXXX
Mit freundlichen Grüßen
Dein Serveradmin
Der Kunde web1 hat seinen erlaubten Traffic von 1 MB um 0.07 MB überschritten und wurde deswegen automatisch gesperrt!
außerdem Seite gesperrt, Siehe hier:
TO MUCHE TRAFFIC
Hab das ganze ein bischen erweitert, und zwar habe ich in die datenbank eine neue zeile eingefügt mit dem namen "tomuchetraffic", welche den wert "1" zugewiesen bekommt, wenn zuviel traffic entstanden ist.
Entsperrt wird nur wenn der max traffic > größerals der traffic ist und das feld tomuchtraffic "1" ist.
d.h. kunden die wegen anderer "vergehen" gesperrt wurden haben natürlich nicht tomuchtraffic=1 und werden deshalb vom script auch nicht entsperrt...
wer allerdings in zahlungsverzug ist und zusätzlich zuviel traffic hat, wird trotzdem entsperrt (kleiner schönheitsfehler...)
wie mann am quelltext erkennen kann bin ich kein programierer, wenn also jemand lust hat meinen code zusammenzufassen mit else und/oder elseif oder while oder sowas, es würden sich bestimmt alle hier im forum darüber freuen !!!
#!/usr/bin/php
<?
$db = mysql_connect("localhost","DBuser","DBpass");
$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]'");
}
if($result[maxtransfer]<=$traffic["gtransfer"] && $result[maxtransfer] != "-1") {
mysql_query("UPDATE confixx.kunden SET tomuchetraffic='1' WHERE kunde='$result[kunde]'");
}
if($result[maxtransfer]>$traffic["gtransfer"] && $result[tomuchetraffic] != "0") {
mysql_query("UPDATE confixx.kunden SET gesperrt='0' WHERE kunde='$result[kunde]'");
}
if($result[maxtransfer]>$traffic["gtransfer"] && $result[tomuchetraffic] != "0") {
mysql_query("UPDATE confixx.kunden SET tomuchetraffic='0' WHERE kunde='$result[kunde]'");
}
}
mysql_close($db);
?>
Entsperrt wird nur wenn der max traffic > größerals der traffic ist und das feld tomuchtraffic "1" ist.
d.h. kunden die wegen anderer "vergehen" gesperrt wurden haben natürlich nicht tomuchtraffic=1 und werden deshalb vom script auch nicht entsperrt...
wer allerdings in zahlungsverzug ist und zusätzlich zuviel traffic hat, wird trotzdem entsperrt (kleiner schönheitsfehler...)
wie mann am quelltext erkennen kann bin ich kein programierer, wenn also jemand lust hat meinen code zusammenzufassen mit else und/oder elseif oder while oder sowas, es würden sich bestimmt alle hier im forum darüber freuen !!!
#!/usr/bin/php
<?
$db = mysql_connect("localhost","DBuser","DBpass");
$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]'");
}
if($result[maxtransfer]<=$traffic["gtransfer"] && $result[maxtransfer] != "-1") {
mysql_query("UPDATE confixx.kunden SET tomuchetraffic='1' WHERE kunde='$result[kunde]'");
}
if($result[maxtransfer]>$traffic["gtransfer"] && $result[tomuchetraffic] != "0") {
mysql_query("UPDATE confixx.kunden SET gesperrt='0' WHERE kunde='$result[kunde]'");
}
if($result[maxtransfer]>$traffic["gtransfer"] && $result[tomuchetraffic] != "0") {
mysql_query("UPDATE confixx.kunden SET tomuchetraffic='0' WHERE kunde='$result[kunde]'");
}
}
mysql_close($db);
?>
Last edited by kloewer on 2003-10-22 13:13, edited 1 time in total.
Re: Confixx2 Trafficbegrenzung
mal ne Frage zum Crontab, warum lasst ihr dies jede Minute bzw. alle 5 Minuten ausführen? Confixx berechnet doch mitten in der Nacht erst den Traffic. Wäre es da nicht sinnvoller das Script auch nach der Berechnung erst auszuführen?
Oder habt ihr die Trafficberechnung von der Zeit her geändert.
mfg
Nils
Oder habt ihr die Trafficberechnung von der Zeit her geändert.
mfg
Nils
Re: Confixx2 Trafficbegrenzung
Hm, macht eigentlich kein Sinn. Hast schon recht 
Re: Confixx2 Trafficbegrenzung
könntest du das Berechnungs Script posten wenn es geht ?
Wäre für mich ganz hilfreich :-D
Wäre für mich ganz hilfreich :-D
Re: Confixx2 Trafficbegrenzung
#!/usr/bin/php
<?
$db = mysql_connect("localhost","confixx","PASSWORT");
$query = mysql_query("SELECT * FROM confixx.kunden WHERE gesperrt='0' 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_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'");
// Mail verschicken
$text = "Der Kunde $result[kunde] hat seinen erlaubten Traffic von ".($result[maxtransfer] / 1024)." MB um ".round((($traffic[gtransfer] - $result[maxtransfer]) / 1024),2)." MB überschritten!" ;
mail("webmaster@domain.net","Trafficüberschreitung $result[kunde]",$text,"From: webmaster@domain.netnReply-To: webmaster@domain.netnX-Mailer: PHP/" . phpversion());
}
}
mysql_close($db);
?>
<?
$db = mysql_connect("localhost","confixx","PASSWORT");
$query = mysql_query("SELECT * FROM confixx.kunden WHERE gesperrt='0' 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_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'");
// Mail verschicken
$text = "Der Kunde $result[kunde] hat seinen erlaubten Traffic von ".($result[maxtransfer] / 1024)." MB um ".round((($traffic[gtransfer] - $result[maxtransfer]) / 1024),2)." MB überschritten!" ;
mail("webmaster@domain.net","Trafficüberschreitung $result[kunde]",$text,"From: webmaster@domain.netnReply-To: webmaster@domain.netnX-Mailer: PHP/" . phpversion());
}
}
mysql_close($db);
?>
Re: Confixx2 Trafficbegrenzung
Ich meinte das :)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 :)
Re: Confixx2 Trafficbegrenzung
Wow, jetzt ist dieser Thread schon über ein Jahr aktiv, wahnsinn :)
Ich sollte mal was neues ausdenken was dieses Thema angeht, vieleicht so eine Extra Confixx Extension mit Menüoberfläche, hehe.
Ich sollte mal was neues ausdenken was dieses Thema angeht, vieleicht so eine Extra Confixx Extension mit Menüoberfläche, hehe.
Re: Confixx2 Trafficbegrenzung
Solltest schon einen Benutzernamen angeben zum auf die Datenbank connecten...
Acess for "@localhost". Der versucht sich mit nix anzumelden.. also MÃ?Ã?P
Dann versucht der sich mit wwwrun anzumelden. Ohne Passwort -> wieder MÃ?Ã?P
Acess for "@localhost". Der versucht sich mit nix anzumelden.. also MÃ?Ã?P
Dann versucht der sich mit wwwrun anzumelden. Ohne Passwort -> wieder MÃ?Ã?P
-
recoilmaster
- Posts: 188
- Joined: 2003-10-02 10:35
Re: Confixx2 Trafficbegrenzung
Aufwärm, es muss ja überall wo @mydomain.de steht meine Emailadresse rein, aber wie bekommt das Script dann die Emaialdresse des Kuden raus, an die die Mail gehen muss ?WolfHenk wrote:ok, ich hab meine Sach nu am Laufen.
Meine Files sehen so aus:
traffic_check.phpund#!/usr/bin/php
<?
$dat = mysql_connect ("localhost","DBuser","DBpass");
$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_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'");
$text1 = "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!" ;
mail("wolfhenk@mydomain.de","Trafficüberschreitung $result[kunde]",$text1,"From: webmaster@mydomain.denReply-To: noreply@mydomain.denX-Mailer: PHP/" . phpversion());
$text2 = "Sehr geehrter Kunde,/nSie haben ihren erlaubten Traffic von ".($result[maxtransfer] / 1024)." MB um ".round((($traffic[gtransfer] - $result[maxtransfer]) / 1024),2)." MB überschritten./nIhr Webspace auf unserem Server wurde deswegen automatisch gesperrt!/nBitte setzen Sie sich mit uns in Verbindung, wenn Sie vor Ablauf des Monatsendes wieder freigeschaltet werden möchten/nSie erreichen uns unter +49 815 4711/nMit freundlichen Grüßen/nWolfHenk";
mail("$result[emailadresse]","Trafficüberschreitung ihres Webspaceaccounts",$text2,"From: webmaster@mydomain.denReply-To: webmaster@mydomain.denX-Mailer: PHP/" . phpversion());
}
}
mysql_close($dat);
?>
traffic_unlock.phpwobei: Wenn Traffic_check per Cron alle 5 Minuten läuft krieg ich UND der Kunde alle 5 Minuten ne Mail.#!/usr/bin/php
<?
$db = mysql_connect("localhost","DBuser","DBpass");
mysql_query("UPDATE confixx.kunden SET gesperrt='0' WHERE 1");
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'");
mysql_close($db);
mail("webmaster@mydomain.de","Trafficsperren geöffnet","Gesperrte Kunden wurden wieder geöffnet, bitte kontrollieren.","from: webmaster@mydomain.de");
?>
Ich denke man sollte das noch erweitern um die Abfrage gesperrt = 0 aus der confixx.kunden. Leider hab ich nur wenig Plan von MySql und PHP, deswegen bitte ich mal hier um nen Vorschlag, den ich gerne teste und hier auch die Ergebnisse veröffentliche.
--
Ach das warums bei mir net ging: Ich hab Debian und mein Socket ist nicht /tmp/mysql.sock sondern /tmp/mysqld.sock.
Ich habe entsprechend ein symlink namens /tmp/mysql.sock erstellt, was nach /tmp/mysqld.sock verweist...
Wolfram
Thx
Bye Nils
Re: Confixx2 Trafficbegrenzung
Moin
Bei mir funzt das script nicht
Ausgabe des Befehls /root/traffic_unlock.php ..
X-Powered-By: PHP/4.1.2
Content-type: text/html
<br />
<b>Fatal error</b>: Call to undefined function: mysql_connect() in <b>/root/traffic_unlock.php</b> on line <b>2</b><br />
Das kommt beim ausführen des Cron
Bei mir funzt das script nicht
Ausgabe des Befehls /root/traffic_unlock.php ..
X-Powered-By: PHP/4.1.2
Content-type: text/html
<br />
<b>Fatal error</b>: Call to undefined function: mysql_connect() in <b>/root/traffic_unlock.php</b> on line <b>2</b><br />
Das kommt beim ausführen des Cron