#!/usr/bin/php
<?
$dbuser = "root";
$dbpass = "***";
$dbname = "postfixstats";
$link = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname);
$datei = "/var/log/mail";
$fp = fopen( $datei, "r") or die("error 1");
while (! feof($fp)) {
$zeile = fgets( $fp, 1024);
if (ereg("status=sent", $zeile)) {
if (ereg("relay=local", $zeile)) {
$sentlocal++;
}
else {
$sentrelay++;
}
$sent = $sent + 1;
}
elseif(ereg("smtpd", $zeile) AND ereg("client=", $zeile)) {
$remote++;
$res++;
}
elseif(ereg("pickup", $zeile)) {
if(ereg("sender", $zeile) OR ereg("uid", $zeile)) {
$local++;
$res++;
}
}
elseif(ereg("popper", $zeile)) {
if(ereg("Stats:", $zeile)) {
$pop++;
}
}
}
$time = time();
$sql = mysql_fetch_array(mysql_query("SELECT * FROM grepsent ORDER BY id DESC LIMIT 1"));
mysql_query("INSERT INTO grepsent VALUES(NULL,'$time','$sentlocal','$sentrelay')");
print "Local: ". ($sentlocal - $sql[2]) ."n";
print "Relay: ". ($sentrelay - $sql[3]) ."n";
?>
#!/bin/sh
P=`/usr/local/bin/mrtg-postfixsent`
wert1=`echo $P |grep 'Local:' |awk '{print $7}'`
wer2=`echo $P |grep 'Relay:' |awk '{print $9}'`
echo $wert1
echo $wert2
Target[postfix]: `/usr/local/bin/mrtg-postfix2`
Options[postfix]: nopercent, growright, noinfo, nobanner
MaxBytes[postfix]: 1000
Title[postfix]: Postfix
Wenn cih in die DB schau erhöhen sich die werte... allerdings steht in der mrtg log file postfix.log lauter 0er auser an der 1. stelle stehn die richtigen werte.. sprich er speichert nicht die alten werte.. wieso?
MRTG Postfix - falsche Daten...
Re: MRTG Postfix - falsche Daten...
1061413054 12 12
1061413054 0 0 0 0
des wiederspricht sich doch er schreibt zur selben zeit verschiedene werte... wieso
1061413054 0 0 0 0
des wiederspricht sich doch er schreibt zur selben zeit verschiedene werte... wieso