Postfix statistika
1. Sužinoti Postfix pašto eilę galime komanda:
postqueue -p
arba komanda mailq
Jei norime pašalinti neišsiųstą laišką iš pašto eilės, rašome komandą:
postsuper -d mailID
mailID konkretus laiško id, jei norime panaikinti visus neišsiųstus laiškus
postsuper -d ALL
2. Jei norime gauti ataskaita el.pastu, diegiame pflogsumm paketą:
apt-get install pflogsumm
koreguojam:
nano /etc/logrotate.conf
pabaigoje įrašome:
# system-specific logs may be configured here /var/log/mail.log { missingok daily rotate 7 create compress start 0 }
Sukuriame skriptą /usr/local/sbin/postfix_report.sh:
nano /usr/local/sbin/postfix_report.sh
turinys:
#!/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin gunzip /var/log/mail.log.0.gz pflogsumm /var/log/mail.log.0 | formail -c -I"Subject: Mail Statistics" -I"From: pflogsumm@localhost" -I"To: [email protected]" -I"Received: from www.example.com ([192.168.0.100])" | sendmail [email protected] gzip /var/log/mail.log.0 exit 0
koreguojame teises:
chmod 755 /usr/local/sbin/postfix_report.sh
Įkeliame vykdyma į cron
crontab -e
papildome eilute:
0 7 * * * /usr/local/sbin/postfix_report.sh &> /dev/null
Ataskaita bus siunciama [email protected] adresui.
Šaltinis čia
Pastaba: Jei rašo, kad nesupranta formail, pasitikriname ar šis įrankis yra sistemoje:
find / -name formail -print
ir jei nėra įdiegiame:
apt-get install procmail
P.S. Dar yra paketas SendmailAnalyzer (ataskaita html pavidalu, plačiau skaitykit čia).