ispCP - Board - Support
[ERLEDIGT]email Logs für Kunden - Printable Version

+- ispCP - Board - Support (http://www.isp-control.net/forum)
+-- Forum: ispCP Omega International Area (/forum-22.html)
+--- Forum: German Corner (/forum-26.html)
+---- Forum: Archiv (/forum-54.html)
+---- Thread: [ERLEDIGT]email Logs für Kunden (/thread-5562.html)

Pages: 1 2 3


[ERLEDIGT]email Logs für Kunden - CHBIE - 01-29-2009 02:26 AM

Hi

ich brauche für einen Kunden die eMail Logs - in seinem logs Ordner - nur von seiner Domain!

Gewünscht wäre Posteingang und Ausgang.

Wie kann ich das einrichten?

Gruss CHBIE


RE: email Logs für Kunden - BeNe - 01-29-2009 06:07 PM

Mhhh, da müsstest Du ein Script haben welches die Mail.log nach Domains durchsucht, ausschneidet und in eine Log für den Kunden schreibt. Vielleicht könnte man ein Teil des Mailtraffic scripts dafür benutzen ?!

Greez BeNe


RE: email Logs für Kunden - gOOvER - 01-29-2009 07:27 PM

Vielleicht findet sich hier was:

http://www.postfix.org/addon.html


RE: email Logs für Kunden - BeNe - 01-29-2009 07:37 PM

Wenn ich das grad so sehe mit der Liste, AWStats könnte ja auch den e-Mailtraffic auswerten Cool.
Aber Du brauchst sicher die Logdatei so...

Greez BeNe


RE: email Logs für Kunden - Meikel - 01-30-2009 09:05 PM

Hallo,

evtl. könnte dieser kleine Bash-Script helfen:

Code:
#!/bin/bash
deleteafterdays=184
if [ "$1" = "" ]; then
    echo "Parameter: usermaillog <Domain/Aliasdomain> <optional Hauptdomain>"
else
    DATUM=`date '+%Y-%m-%d'`  
    if [ "$2" != "" ]; then
        if [ -d /var/www/virtual/$1 ]; then
            serverdomain=$1
        else
            serverdomain=$2
        fi
    else    
        serverdomain=$1
    fi
    if [ -d /var/www/virtual/$serverdomain ]; then
        find /var/www/virtual/$serverdomain/logs/mail_$1* -mtime +$deleteafterdays -exec rm {} \; >/dev/null 2>&1
        grep $1 /var/log/mail.log >/var/www/virtual/$serverdomain/logs/mail_$1_$DATUM
    else
        echo "Fehler: Verzeichnis /var/www/virtual/$serverdomain existiert nicht."
    fi
fi

Für den gewünschten Kunden einen Cronjob einrichten und als Parameter die gewünschte Domain angeben. Falls es sich um eine Aliasdomain handelt muss noch die Hauptdomain angegeben werden.


mfg

Michael


RE: email Logs für Kunden - CHBIE - 01-30-2009 10:28 PM

(01-30-2009 09:05 PM)Meikel Wrote:  Hallo,

evtl. könnte dieser kleine Bash-Script helfen:

Code:
#!/bin/bash
deleteafterdays=184
if [ "$1" = "" ]; then
    echo "Parameter: usermaillog <Domain/Aliasdomain> <optional Hauptdomain>"
else
    DATUM=`date '+%Y-%m-%d'`  
    if [ "$2" != "" ]; then
        if [ -d /var/www/virtual/$1 ]; then
            serverdomain=$1
        else
            serverdomain=$2
        fi
    else    
        serverdomain=$1
    fi
    if [ -d /var/www/virtual/$serverdomain ]; then
        find /var/www/virtual/$serverdomain/logs/mail_$1* -mtime +$deleteafterdays -exec rm {} \; >/dev/null 2>&1
        grep $1 /var/log/mail.log >/var/www/virtual/$serverdomain/logs/mail_$1_$DATUM
    else
        echo "Fehler: Verzeichnis /var/www/virtual/$serverdomain existiert nicht."
    fi
fi

Für den gewünschten Kunden einen Cronjob einrichten und als Parameter die gewünschte Domain angeben. Falls es sich um eine Aliasdomain handelt muss noch die Hauptdomain angegeben werden.


mfg

Michael

sieht nicht schlecht aus - nur eine frage wo soll ich da die $serverdomain eintragen? und wie soll der cronjob aussehen?

Gruss CHBIE


RE: email Logs für Kunden - ZooL - 01-30-2009 11:32 PM

steht doch da... Wink


RE: email Logs für Kunden - CHBIE - 01-30-2009 11:52 PM

(01-30-2009 11:32 PM)ZooL Wrote:  steht doch da... Wink

Tolle Antwort - jetzt weis ich bescheid!!!

falls du das da meinst:
Code:
echo "Parameter: usermaillog <Domain/Aliasdomain> <optional Hauptdomain>"

bin ich der Meinung das Parameter meisten so übergeben werden:
Code:
$serverdomain = "meineDomain.tld";

ansonsten würde ich ja nicht nachfragen!

Gruss CHBIE


RE: email Logs für Kunden - ZooL - 01-31-2009 12:52 AM

(01-30-2009 11:52 PM)CHBIE Wrote:  
(01-30-2009 11:32 PM)ZooL Wrote:  steht doch da... Wink

Tolle Antwort - jetzt weis ich bescheid!!!
Gruss CHBIE

sorry gebe mich geschlagen.. wäre zu einfach gewesen da du schon etwas vom coden verstehst Wink er hat wohl vergessen in dem script parameter zu setzen und hat dies glaube ich nur als ansporn darein geschrieben...
mfg
geile sache nach dem ich mir es noch mal auf der console anguckt habe und den post ca. noch 3 mal gelesen habe ist es mir wie schuppen von den augen gefallen *g* es stand schon alles da @CHBIE

Quote:Für den gewünschten Kunden einen Cronjob einrichten
wieoft ist dir überlassen, täglich, Wöchentlich!
Quote:und als Parameter die gewünschte Domain angeben.
den code script schnipsel als usermaillog speichern chmod 777 geben!
Quote:usermaillog <Domain/Aliasdomain> <optional Hauptdomain>"
in der konsole wäre der befehl zum aufrufen nun z.B
cd /var/www/ispcp/engine/
usermaillog chbie.ch
datei wird geschrieben mail_chbie.ch_2009-01-30
hoffe ich konnte licht ins dunkel bringen... nachteil datei wird als root root angelegt...

mfg


RE: [ERLEDIGT]email Logs für Kunden - CHBIE - 01-31-2009 01:56 AM

@Zool - der groschen ist noch nicht gefallen ;-)

Habe den obigen Code genommen und als usermaillog abgespeichert! (ohne Endung)

Kopiert nach /var/www/ispcp/engine chmod 777 gemacht

Konsole nach /var/www/ispcp/engine gewechselt

befehl ausgeführt: usermaillog chbie.ch mit der richtigen Domain.tld!

Fehler: -bash: usermaillog: command not found

Gruss CHBIE