Servercommunity Foren-Übersicht Servercommunity
Das informative Forum für Fragen rund um Server
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Confixx 2.0.11->E-Mail bei Trafficüberschreitung eines Us

 
Neues Thema eröffnen   Neue Antwort erstellen    Servercommunity Foren-Übersicht -> Tools
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
megaron



Anmeldedatum: 05.03.2004
Beiträge: 258

BeitragVerfasst am: Mi März 17, 2004 14:10    Titel: Confixx 2.0.11->E-Mail bei Trafficüberschreitung eines Us Antworten mit Zitat

Hallo,

ich suche ein recht einfach zu installierendes Script (cronjob),
dass 1-2mal täglich überprüft, ob einer meiner Confixx-Webs (Kunden) den vorgegebenen Inkl.-Traffic überschritten hat. Wenn ja soll einfach eine E-Mail rausgeschickt werden mit der Angabe des Users (webx) sowie die jetzige überschreitung.

Das ganze natürlcih nur 1x im Monat pro user...
Also wenn der User am xx.März den Traffic überschreitet, bekomme ich
einmalig eine E-Mail.
Die nächste Mail würde ich erst wieder im April bekommen, wenn er wieder den Traffic überschreitet.

Gibt es sowas schon, bzw. wäre das möglich?

Gruss, Megaron
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sascha



Anmeldedatum: 04.08.2003
Beiträge: 210

BeitragVerfasst am: Do März 18, 2004 00:27    Titel: Antworten mit Zitat

Schau mal hier: http://www.rootforum.de/forum/viewtopic.php?t=6785
_________________
Viele Grüße,
Sascha
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
megaron



Anmeldedatum: 05.03.2004
Beiträge: 258

BeitragVerfasst am: So März 28, 2004 18:26    Titel: Antworten mit Zitat

Hi Sascha und danke für deine schnelle Hilfe.

Hab das SCript auch schon soweit angepasst und installiert, jedoch gibt es noch ein Problem: die Variabeln in einer Hinweis-Mail werden nicht eingesetzt.

Hier erstmal das Script:

Code:
#!/usr/bin/php
<?
$db = mysql_connect("localhost","user","password");

$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'");
}
}

$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!" ;
mail("info@meinedomain.biz","Trafficüberschreitung $result[kunde]",$text,"From: webmaster@$SERVER_NAME\nReply-To: webmaster@$SERVER_NAME\nX-Mailer: PHP/" . phpversion());

mysql_close($db);
?>


Das Script wurde per Cronjob eingebunden und läuft immer um 1 Minute nach Mitternacht, soweit so gut.

Der Inhalt der rausgeschickten Mail schaut allerdings so aus:
"Der Kunde hat seinen erlaubten Traffic von 0.00 MB um 0.01 MB überschritten..."...

Was muss ich also ändern, damit die Variabeln angezeigt werden?

Danke im Voraus und Gruss, Megaron
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Boum



Anmeldedatum: 29.07.2003
Beiträge: 1929
Wohnort: Karlsruhe

BeitragVerfasst am: So März 28, 2004 18:36    Titel: Antworten mit Zitat

Code:
#!/usr/bin/php
<?
$db = mysql_connect("localhost","user","password");

$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'");

    $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!" ;
    mail("info@meinedomain.biz","Trafficüberschreitung $result[kunde]",$text,"From: webmaster@$SERVER_NAME\nReply-To: webmaster@$SERVER_NAME\nX-Mailer: PHP/" . phpversion());

  }
}

mysql_close($db);
?>

wäre mein Vorschlag. Klassiker: Klammern falsch geschlossen. Auf "Locked" setzt das Skript die Kunde zwar korrekt, aber dann geht's in die Hose.
_________________
Planung ist das Ersetzen des Zufalls durch Irrtum.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
megaron



Anmeldedatum: 05.03.2004
Beiträge: 258

BeitragVerfasst am: So März 28, 2004 18:59    Titel: Antworten mit Zitat

Boum hat Folgendes geschrieben:
Code:
#!/usr/bin/php
<?
$db = mysql_connect("localhost","user","password");

$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'");

    $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!" ;
    mail("info@meinedomain.biz","Trafficüberschreitung $result[kunde]",$text,"From: webmaster@$SERVER_NAME\nReply-To: webmaster@$SERVER_NAME\nX-Mailer: PHP/" . phpversion());

  }
}

mysql_close($db);
?>

wäre mein Vorschlag. Klassiker: Klammern falsch geschlossen. Auf "Locked" setzt das Skript die Kunde zwar korrekt, aber dann geht's in die Hose.


was meinst du mit "dann gehts in die hose"? der kunde wird bei mir korrekt gesperrt und wenn ich will, kann ich ihn bis zum nächsten durchlauf des scriptes auch wieder korrekt entsperren..

Gruss, Ronny
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Boum



Anmeldedatum: 29.07.2003
Beiträge: 1929
Wohnort: Karlsruhe

BeitragVerfasst am: So März 28, 2004 19:04    Titel: Antworten mit Zitat

Erm, nee. Sorry, da war ich etwas unpräzise:

ich meinte, dass die mySQL-UPDATES noch funktionieren. Wenn er das aber in einem Lauf für 3 Kunden gemacht hat, schickt er anschließend eine (statt 3 innerhalb der Schleife) Mail und fügt dort die Variablen des letzten Schleifendurchlaufs ein. Und das sind höchstwahrscheinlich nicht die gewünschten... [ich hätte gerne im Code die Änderungen farbig markiert. Geht aber nicht... blödes Board *tret*]

Darum habe ich die beiden letzten Zeilen vor die beiden schließenden "}"s gesetzt.
_________________
Planung ist das Ersetzen des Zufalls durch Irrtum.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
megaron



Anmeldedatum: 05.03.2004
Beiträge: 258

BeitragVerfasst am: So März 28, 2004 19:54    Titel: Antworten mit Zitat

Super Very Happy

Hat alles funktioniert, vielen Dank!!

Das Forum is spitze! Cool

Gruss, Ronny
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Boum



Anmeldedatum: 29.07.2003
Beiträge: 1929
Wohnort: Karlsruhe

BeitragVerfasst am: Mo März 29, 2004 08:01    Titel: Antworten mit Zitat

megaron hat Folgendes geschrieben:
Super Very Happy

Hat alles funktioniert, vielen Dank!!

Das Forum is spitze! Cool

*Verbeug*
Autogramme später... Cool

Nein, ernsthaft: gern geschehen. Und: dass das Forum hier spitze ist, finde ich schon länger... Wink
_________________
Planung ist das Ersetzen des Zufalls durch Irrtum.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
megaron



Anmeldedatum: 05.03.2004
Beiträge: 258

BeitragVerfasst am: Mi März 31, 2004 16:55    Titel: Antworten mit Zitat

Hallo,

habe doch noch einen kleinen Bug gefunden:

und zwar erhalte ich jetzt jedes mal beim durchlauf des scriptes eine email, das der kunde x gesperrt wurde.. (obwohl er das ja schon ist).

woran kann das liegen?

Gruss, Megaron
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nobody



Anmeldedatum: 23.06.2003
Beiträge: 462

BeitragVerfasst am: Mi März 31, 2004 18:23    Titel: Antworten mit Zitat

würd mal pauschal sagen das halt nich geprüft wird ob x scho gesperrrt is oder nich.
_________________
Rechtschreibfehler gefunden? Pech, ich darf das. Ärztlich beglaubigter Legastekniker eh legassthenicker ..ehr auch scheiß wort. ich darf dat
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Servercommunity Foren-Übersicht -> Tools Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.



Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de