Ich versuche die POP3 Mail Statistik mit dovecot zu erweitern.
Input (mail.log):
Dec 24 09:56:52 home dovecot: POP3(user1@domain.tld): Disconnected: Logged out top=0, retr=13704, del=3, size=13653
Soll Output (pop3.log):
user=user1@domain.tld, top=0, retr=13704
Code:
$rs = sys_command("$cat $rlog|$grep -E '(courierpop3login|pop3d|dovecot).+top='|$grep -v 'ip=\\[::ffff:127.0.0.1\\]'|"
."$awk '/courierpop3login/ {print \$7,\$9,substr(\$10,1,length(\$10)-1);} "
."/dovecot/ {print substr(\$6,6,length(\$6)-7),\$10,substr(\$11,1,length(\$11)-1);} "
."/pop3d/ {print \$7,\$10,substr(\$11,1,length(\$11)-1);}'"
." 1>$pop3_log");
damit bekomme ich schon mal im Output:
user1@domain.tld top=0, retr=13704
Sollte aber eher so sein:
user=user1@domain.tld, top=0, retr=13704
Mit "user=" am Anfang und mit einem Komma am Ende des ersten Strings.
Für einen kleinen Tipp zu regex und perl wäre ich euch sehr dankbar.