แงแแแแ แแแแฎแแแ แ แแแแแแแแก แแฆแ แแชแฎแแ แแแแแกแแแแ แ แแแ แแแ แแขแแฃแแ แกแแกแขแแแแก แแ แ-แแ แแ แงแแแแแแ แแแแจแแแแแแแแแ แคแฃแแฅแชแแแ. แแฃแ แแแแแแ แกแแจแฃแแแแแแก แแแซแแแแ แแแแแญแ แแ แฌแแ แแแจแแแแแ แแ แแแแแแแแ, แจแแแแแฌแแแ แกแแแแคแแ แแแชแแ แกแแกแขแแแแแแก แแฃแจแแแแ แแ แแกแแแ แแแแแแซแแแ แแแคแแ แแแชแแฃแแ แฃแกแแคแ แแฎแแแแแก แแแชแแแแแขแแแ. Zimbra OSE แแกแแแ แแแแฎแแแก แแแกแ แแฃแจแแแแแก แแแขแแแฃแ แฉแแแแฌแแ แแแก. แแกแแแ แแแแชแแแก แงแแแแ แแแแแชแแแก แกแแ แแแ แแก แแฃแจแแแแแแแ แแแแฎแแแ แแแแแแแก แแแแ แแ.แคแแกแขแแก แแแแแแแแแแแ แแ แแแฆแแแแแแ. แแฃแแชแ, Zimbra OSE-แแก แแแแ แแแแแ แแ แแแฃแแ แแฃแ แแแแแแแก แฌแแแแแฎแแ แกแแแแแแ แแ แแขแ แแแแแแฃแ แ แแแแชแแแแ. แแ แกแขแแขแแแจแ, แแแแแ แแขแฃแแ แแแแแแแแแก แแแแแงแแแแแแ, แฉแแแ แแแขแงแแแ, แแฃ แ แแแแ แฃแแแ แฌแแแแแแฎแแ Zimbra OSE แแฃแ แแแแแแ, แแกแแแ แ แแแแ แแแแแแแแ แแกแแแ แชแแแขแ แแแแแแแฃแแ.
Zimbra OSE แแแแฎแแแก แงแแแแ แแแแแแฃแ แแฃแ แแแแก /opt/zimbra/log แกแแฅแแฆแแแแแจแ แแ แแฃแ แแแแแแ แแกแแแ แจแแแแซแแแแ แแฎแแแแ /var/log/zimbra.log แคแแแแจแ. แแแแแแ แงแแแแแแ แแแแจแแแแแแแแแ แแ แแก mailbox.log. แแก แแฌแแ แก แงแแแแ แแแฅแแแแแแแก, แ แแแแแแช แฎแแแแ แคแแกแขแแก แกแแ แแแ แแ. แแก แแแแชแแแก แแ.แฌแแ แแแแแแก แแแแแชแแแแก, แแแแฎแแแ แแแแแก แแแแแแขแแคแแแแชแแแก แแแแแชแแแแแก, แจแแกแแแแก แฌแแ แฃแแแขแแแแ แแชแแแแแแแแก แแ แกแฎแแ. mailbox.log-แจแ แฉแแแแฌแแ แแแ แแ แแก แขแแฅแกแขแแก แกแขแ แแฅแแแ, แ แแแแแแช แจแแแชแแแก แแแแแแแแก แแ แแก, แแแแแแแแก แแแแแก, แแแแแขแฃแ แ แแแแแ แก, แ แแแแแจแแช แแแฎแแ แแแแแแแ, แแแแฎแแแ แแแแแก แกแแฎแแแก แแ IP แแแกแแแแ แแก, แแกแแแ แแแแแแแแก แขแแฅแกแขแฃแ แแฆแฌแแ แแก. .
แแฃแ แแแแแก แแแแ แแแฃแแแแแแก แแแแแแแแก แแแแแแแแก แฎแแ แแกแฎแแ แกแแ แแแ แแก แแฃแจแแแแแแ. แแแแฃแแแกแฎแแแแแ แแ แแก แแแแแแแแก 4 แแแแ: INFO, WARN, ERROR แแ FATAL. แแแแแ แจแแแฎแแแแ แงแแแแ แแแแแก แกแแแซแแแแก แแแแ แแ แแแแแแแแแแ แแแแ.
- INFO - แแ แแแแแก แฆแแแแกแซแแแแแแ, แ แแแแ แช แฌแแกแ, แแแแแแแฃแแแ Zimbra OSE-แแก แแ แแแ แแกแแก แจแแกแแฎแแ แแแคแแ แแแ แแแแกแแแแก. แแ แแแแแแ แจแแขแงแแแแแแแแแ แแแแชแแแก แแแแแ แแจแแแก แกแแคแแกแขแ แงแฃแแแก แจแแฅแแแแก แแ แฌแแจแแแก แจแแกแแฎแแ แแ แ.แจ.
- แแแคแ แแฎแแแแแ - แแ แแแแแก แแแแแแแแแ แแแแฌแแแแก แแแคแแ แแแชแแแก แแแขแแแชแแฃแ แแ แกแแจแแจแ แกแแขแฃแแชแแแแแก แจแแกแแฎแแ, แแแแ แแ แแ แแแแฅแแแแแแก แกแแ แแแ แแก แแฃแจแแแแแแ. แแแแแแแแแ, WARN แแแแ แแฆแแแจแแแแก แจแแขแงแแแแแแแแก แแแแฎแแแ แแแแแก แจแแกแแแแก แฌแแ แฃแแแขแแแแแ แแชแแแแแแแก แจแแกแแฎแแ.
- ERROR - แแฃแ แแแแจแ แแแแแแแแก แแก แแแแ แแชแแแแแแก แจแแชแแแแแก แฌแแ แแแฅแแแแก, แ แแแแแแช แแแแแแฃแ แ แฎแแกแแแแแกแแ แแ แแ แฃแจแแแก แฎแแแก แกแแ แแแ แแก แแฃแจแแแแแก. แแ แแแแแก แจแแฃแซแแแ แแแแแจแแแก แจแแชแแแแ, แ แแแแแก แแ แแกแแช แแแแแแแแฃแแแฃแ แ แแแแฎแแแ แแแแแก แแแแแฅแกแแก แแแแแชแแแแแ แแแแแแแแแฃแแแ.
- FATAL - แแก แแแแ แแแฃแแแแแแก แจแแชแแแแแแแ, แ แแก แแแแแช แกแแ แแแ แ แแแ แแแแแแ แซแแแก แแแ แแแแฃแ แแ แแฃแจแแแแแก. แแแแแแแแแ, FATAL แแแแ แแฅแแแแ แฉแแแแฌแแ แแกแแแแก, แ แแแแแแช แแแฃแแแแแแก DBMS-แแแ แแแแแแจแแ แแแแก แจแแฃแซแแแแแแแแแ.
แคแแกแขแแก แกแแ แแแ แแก แแฃแ แแแแแก แคแแแแ แงแแแแแแฆแแฃแ แแ แแแแแฎแแแแแ. แคแแแแแก แฃแแฎแแแก แแแ แกแแแก แงแแแแแแแแก แแฅแแก แกแแฎแแแ Mailbox.log, แฎแแแ แแฃแ แแแแแแก แแแ แแแแฃแแ แแแ แแฆแแกแแแแก แแฅแแก แแแ แแฆแ แกแแฎแแแจแ แแ แแแแฎแแแ แแ แฅแแแจแ. แแแแแแแแแ mailbox.log.2020-09-29.tar.gz. แแก แแแแแแแแแก แแฅแขแแแแแแก แแฃแ แแแแแแแก แกแแ แแแแ แแ แแกแแแก แจแแฅแแแแก แแ แแฃแ แแแแแแจแ แซแแแแแก.
แกแแกแขแแแแก แแแแแแแกแขแ แแขแแ แแก แแแฎแแ แฎแแแฃแแแแแกแแแแก, แกแแฅแแฆแแแแ /opt/zimbra/log/ แจแแแชแแแก แกแฎแแ แแฃแ แแแแแแก. แแกแแแ แแแแชแแแก แแฎแแแแ แฉแแแแฌแแ แแแก, แ แแแแแแแช แแฎแแแ แแแแแ แแขแฃแ Zimbra OSE แแแแแแแขแแแก. แแแแแแแแแ, audit.log แจแแแชแแแก แแฎแแแแ แฉแแแแฌแแ แแแก แแแแฎแแแ แแแแแก แแแแแแขแแคแแแแชแแแก แจแแกแแฎแแ, clamd.log แจแแแชแแแก แแแแแชแแแแแก แแแขแแแแ แฃแกแแก แแฃแจแแแแแก แจแแกแแฎแแ แแ แ.แจ. แกแฎแแแแ แจแแ แแก, แจแแกแแแแจแแแแ แแแแแแแ Zimbra OSE แกแแ แแแ แแก แแแชแแ แแแแแแแกแฎแแแแแแแกแแแ
แแแแแแแแ แแแแกแ, แแฃ แ แแแแ audit.log แแฉแแแแแแก แแ แฏแแ แแ แแกแฌแแ แแ แจแแงแแแแแ แแแ แแแก แแ แจแแกแแแแก แฌแแ แแแขแแแฃแ แแชแแแแแแแก.
แแฃแ แแแแแแ Zimbra OSE-แจแ แจแแแซแแแแ แแงแแก แซแแแแแ แกแแกแแ แแแแแ แกแฎแแแแแกแฎแแ แแ แแขแแแฃแแ แฌแแ แฃแแแขแแแแแแแก แแแแแแแแแก แแแกแแแแแแแ. แแ แแแแแแขแจแ, แ แแแแกแแช แฎแแแแ แแ แแขแแแฃแแ แจแแชแแแแ, แแแแแแแกแขแ แแขแแ แก แฉแแแฃแแแแ แแ แแ แแฅแแก แแ แ, แ แแ แฌแแแแแแฎแแก แแฃแ แแแแ. แกแแญแแ แแ แกแแ แแแ แแก แ แแช แจแแแซแแแแ แแแแ แแฆแแแแแ. แแฃแแชแ, แแแแแแแแแแแ, แ แแแแกแแช แกแแ แแแ แแก แกแแ แแแแ แแ แแกแแ แแ แฅแแแแก แฃแแแ แแ แแฃแ แแแแก, แจแแแซแแแแ แแแซแแแแแแก แกแแญแแ แ แฉแแแแฌแแ แแก แแแแแ แแแ แคแแแแจแ. แแแแกแแแแแก, แ แแ แกแฌแ แแคแแ แแแแแแ แจแแชแแแแแก แฉแแแแฌแแ แ, แกแแแแแ แแกแแ แแชแแแแ แกแแ แแแ แแก แแแแแขแแแ แแแแก แแ แ แแ แแแแแแ แฉแแแแฌแแ แ แแ แแ แแแแแ แแแแแ แแฆแแแฃแ แแฃแ แแแแแแจแ. แฌแแแ แฉแแแแฌแแ แ แแฅแแแแ แฉแแแแฌแแ แ แแแจแแแแฃแแ แจแแชแแแแแก แจแแกแแฎแแ. แแฅแแแ แแกแแแ แจแแแแซแแแแ แแแแแแ แจแแชแแแแแก แจแแขแงแแแแแแแ แกแแแแแแซแ แกแแขแงแแแก FATAL แซแแแแแ.
Zimbra OSE แแฃแ แแแแแแ แแกแแแ แกแแจแฃแแแแแแก แแแซแแแแ แแแแแชแแแ แแ แแแ แแขแแแฃแแ แฌแแ แฃแแแขแแแแแแแแ. แแแแแแแแแ, แแแแแฃแจแแแแแแแก แแแแแแแแแแกแแแแก แกแแแแแแแแแ, แจแแแแซแแแแ แแแซแแแแแ แแแแแฃแจแแแแแแแก แแแแแแแแแแกแ. แฎแจแแ แแ, แแแแแฃแจแแแแแแแแแก แแแแ แฌแแ แแแฅแแแแ แจแแชแแแแแแก แแแ แแฎแแแแก แกแขแแแแก แแแแแ, แ แแแแแแช แแแแแแ แขแแแก, แแฃ แ แแ แแแแแแฌแแแ แแแแแแแแแแกแ. แคแแกแขแแก แแแฌแแแแแแกแแแ แแแแแแจแแ แแแฃแแ แจแแชแแแแแแแก แจแแแแฎแแแแแจแ, แแฅแแแ แฃแแแ แแแแฌแงแแ แซแแแแ LmtpServer แกแแแแแแซแ แกแแขแงแแแ, แฎแแแ POP แแ IMAP แแ แแขแแแแแแแแแ แแแแแแจแแ แแแฃแแ แจแแชแแแแแแแก แแแกแแซแแแแแ แจแแแแซแแแแ แแแแแแงแแแแ ImapServer แแ Pop3Server แกแแแแแแซแ แกแแขแงแแแแ.
แแฃแ แแแแแแ แแกแแแ แแแแแฎแแแ แแแแ แแแคแแ แแแชแแแก แฃแกแแคแ แแฎแแแแแก แแแชแแแแแขแแแแก แแแแแซแแแแแกแแก. แแแแแ แจแแแฎแแแแ แแแแแ แแขแฃแ แแแแแแแแก. 20 แกแแฅแขแแแแแ แก แแ แ-แแ แแแ แแแแแแจแ แแแแแแ แแแแแแขแก แแแ แฃแกแแ แแแคแแชแแ แแแฃแแ แฌแแ แแแ แแแฃแแแแแแ. แจแแแแแแ, แแแแแแขแแก แแแแแแฃแขแแ แแก แแแแแชแแแแแ แแแจแแคแ แฃแแ แแงแ. แแฃแแชแ แแแแแแจแ แแแแแ แแคแแชแแแก, แ แแ แแ แแคแแ แ แแแแแฃแแแแแแแ. แแแชแแแแแขแแก แแแแแซแแแแแก แคแแ แแแแแจแ, แกแแฌแแ แแแก แฃแกแแคแ แแฎแแแแแก แกแแแกแแฎแฃแ แ แแแฎแแแก แกแแกแขแแแแก แแแแแแแกแขแ แแขแแ แก แคแแกแขแแก แกแแ แแแ แแก แแฃแ แแแแแแก 20 แกแแฅแขแแแแ แแกแแแแก, แ แแแแแแช แแแแแแจแแ แแแฃแแแ แแแแแซแแแแฃแ แแแแฎแแแ แแแแแแแ. แแ แแแก แจแขแแแแแก แฌแงแแแแแแ, แกแแกแขแแแแก แแแแแแแกแขแ แแขแแ แ แแแฃแแแแก แกแแญแแ แ แแฃแ แแแแแก แคแแแแก, แแแแแฆแแแก แกแแญแแ แ แแแคแแ แแแชแแแก แแ แแแแแกแชแแแก แฃแกแแคแ แแฎแแแแแก แกแแแชแแแแแกแขแแแก. แแกแแแ, แแแแแก แแฎแ แแ, แแแแแแแแ แแแแ แแแก แแ แแฆแแแแฉแแแแ, แ แแ IP แแแกแแแแ แแ, แกแแแแแแแช แแก แฌแแ แแแ แแแแแแแแแ, แจแแแกแแแแแแแ แแแแฎแแแ แแแแแก แแแแแแฃแขแแ แแก IP แแแกแแแแ แแก. CCTV-แก แแแแ แแแแ แแแแแแกแขแฃแ แ, แ แแ แแแแแแจแ แแแแแ แกแแแฃแจแแ แแแแแแแ แแแงแแคแแแแแ แฌแแ แแแแก แแแแแแแแแกแแก. แแก แแแแแชแแแแแ แกแแแแแ แแกแ แแงแ แแแแกแแแแก, แ แแ แแแก แแแคแแ แแแชแแฃแแ แฃแกแแคแ แแฎแแแแแก แฌแแกแแแแก แแแ แฆแแแแ แแแแแแแแจแแฃแแแแแแแ แแ แกแแแกแแฎแฃแ แแแแ แแแแแแแแกแฃแคแแแแแแแ.
แแ แ-แแ แแ แแแแแ แแจแแก แจแแกแแฎแแ แฉแแแแฌแแ แแแแก แแแแฆแแแแก แแแแแแแแ Mailbox.log แจแแกแแแแแแ แชแแแแ แคแแแแจแ
แงแแแแแคแแ แ แแแแ แแ แฃแคแ แ แ แแฃแแ แฎแแแแ, แ แแแแกแแช แกแแฅแแ แแฎแแแ แแ แแแแ แกแแ แแแ แฃแ แแแคแ แแกแขแ แฃแฅแขแฃแ แแก. แแแแแแแแ แแฃแ แแแแแแ แแ แแแแแแ แแแแแแแแ แแแแ, แแแแแแ แแฃแจแแแแ แแ แแแแ แกแแ แแแ แฃแ แแแคแ แแกแขแ แฃแฅแขแฃแ แแจแ แซแแแแแ แแแฃแฎแแ แฎแแแแแแ แแ แแแแขแแ แกแแญแแ แแ แแฃแ แแแแแแแก แจแแแ แแแแแแก แชแแแขแ แแแแแแชแแ. แแก แจแแแซแแแแ แแแแแแแแก แแแแแแแก แจแแแ แแแแแแก แฐแแกแขแแก แแแงแแแแแแ. แแ แแ แแก แแแแกแแแฃแแ แแแฃแแ แกแแญแแ แแแแ แแแคแ แแกแขแ แฃแฅแขแฃแ แแกแแแแก แแแแแงแแคแแแ แแแกแแแแซแแแก แแแแแขแแแ. แคแแกแขแแก แแแแแกแแแแ แกแแ แแแ แก แจแแฃแซแแแ แแแแฅแแแแแก แ แแแแ แช แแแแแซแ แแฃแ แแแแแแแก แจแแแ แแแแแแกแแแแก. แฉแแแแก แจแแแแฎแแแแแจแ, แแก แแฅแแแแ Mailstore01 แแแแแซแ.
แแ แกแแ แแแ แแ แฉแแแ แฃแแแ แจแแแแขแแแแ แจแแแแแแ แแ แซแแแแแแแ:
sudo su โ zimbra
zmcontrol stop
exit
sudo /opt/zimbra/libexec/zmfixperms -e -v
แจแแชแแแแแ /etc/sysconfig/rsyslog แคแแแแ แแ แแแแงแแแแ SYSLOGD_OPTIONS=โ-r -c 2โณ
แจแแชแแแแแ /etc/rsyslog.conf แแ แแแแฃแฅแแแ แแแแแแขแแ แแแ แจแแแแแแ แกแขแ แแฅแแแแแแ:
$ModLoad imudp
$UDPServerRun 514
แจแแแงแแแแแ แจแแแแแแ แแ แซแแแแแแแ:
sudo /etc/init.d/rsyslog stop
sudo /etc/init.d/rsyslog start
sudo su โ zimbra
zmcontrol start
exit
sudo /opt/zimbra/libexec/zmloggerinit
sudo /opt/zimbra/bin/zmsshkeygen
sudo /opt/zimbra/bin/zmupdateauthkeys
แแฅแแแ แจแแแแซแแแแ แจแแแแแฌแแแ, แ แแ แงแแแแแคแแ แ แแฃแจแแแแก zmprov gacf | แแ แซแแแแแแก แแแแแงแแแแแแ grep zimbraLogHostname. แแ แซแแแแแแก แจแแกแ แฃแแแแแก แจแแแแแ แฃแแแ แแงแแก แแแฉแแแแแแ แฐแแกแขแแก แกแแฎแแแ, แ แแแแแแช แแแ แแแแแก แแฃแ แแแแแแก. แแแก แจแแกแแชแแแแแแ, แแฅแแแ แฃแแแ แจแแแงแแแแแ แแ แซแแแแแ zmprov mcf zimbraLogHostname mailstore01.company.ru.
แงแแแแ แกแฎแแ แแแคแ แแกแขแ แฃแฅแขแฃแ แแก แกแแ แแแ แแ (LDAP, MTA แแ แกแฎแแ แคแแกแขแแก แแแฆแแแแแแจแ) แแแฃแจแแแ แแ แซแแแแแ zmprov gacf |grep zimbraLogHostname, แ แแ แแแฎแแ แฐแแกแขแแก แกแแฎแแแ, แ แแแแแแแช แแแแแแแแแ แแฃแ แแแแแแ. แแแก แจแแกแแชแแแแแแ แแกแแแ แจแแแแซแแแแ แจแแแงแแแแแ แแ แซแแแแแ zmprov mcf zimbraLogHostname mailstore01.company.ru
แแฅแแแ แแกแแแ แฃแแแ แจแแแงแแแแแ แจแแแแแแ แแ แซแแแแแแแ แแแแแแฃแ แกแแ แแแ แแ:
sudo su - zimbra
/opt/zimbra/bin/zmsshkeygen
/opt/zimbra/bin/zmupdateauthkeys
exit
sudo /opt/zimbra/libexec/zmsyslogsetup
sudo service rsyslog restart
sudo su - zimbra
zmcontrol restart
แแแแก แจแแแแแ, แงแแแแ แแฃแ แแแแ แฉแแแฌแแ แแแ แแฅแแแแก แแแแ แแแแแแแแฃแ แกแแ แแแ แแ, แกแแแแช แแแแ แแแฎแแ แฎแแแฃแแแ แแแฎแแแ แจแแกแแซแแแแแแ. แแกแแแ, Zimbra OSE แแแแแแแกแขแ แแขแแ แแก แแแแกแแแจแ, แแแ แแแแ, แ แแแแแแแช แแ แแก แแแคแแ แแแชแแ แกแแ แแแ แแแแก แกแขแแขแฃแกแแก แจแแกแแฎแแ, แแแจแแแแฃแแ Logger แกแแ แแแกแ แแแแแฉแแแแแ แแฎแแแแ mailstore01 แกแแ แแแ แแกแแแแก.
แแแแแแแกแขแ แแขแแ แแกแแแแก แแแแแ แแ แแ แแแแแก แขแแแแแแ แจแแแซแแแแ แแงแแก แแแแแ แแขแฃแแ แแ. แคแแกแขแแก แแแแแงแฃแ แแก แแแแแแแ. แแแแก แแแแ, แ แแ แแแคแแกแขแ Zimbra OSE-แจแ แแ แแแ แแฃแแแ แแแแแก แ แแแแแแแแ แกแฎแแแแแกแฎแแ แแแแแแแแก: แกแแแแแ แแแ แแแขแแแแ แฃแกแแ, แแแขแแกแแแแ แแ แแกแ แจแแแแแ, แแแฆแแแแแแ แแ แแแแแแแแแแแ, แแแแแแแกแขแ แแขแแ แแกแแแแก, แแฃ แแแคแแกแขแ แแ แฉแแแแแ, แจแแแซแแแแ แกแแแแแแ แแ แแแแแแฃแ แ แแงแแก แแแแแงแฃแ แแก แแแแแแแ แ แแแแ แแขแแแแ. แแก แแแแแแ แแ.
แแ แแ แแแแแแแก แแแแแกแแญแ แแแแ แจแแแแซแแแแ แแแแแแงแแแแ แกแแแชแแแแฃแ แ แกแแ แแแขแ, แ แแแแแแช แจแแแแฃแจแแแ แแแคแแ แแแชแแฃแแ แฃแกแแคแ แแฎแแแแแก แกแแแชแแแแแกแขแแ แแแฅแขแแ แแฃแฎแแแแแ แแ แ แแแแแแแแแแฃแแแ Postfix-แแก แแแแแแแแแ แแแแกแแแแก แแแแแกแแงแแแแแแแ. แแก แกแแ แแแขแ แแแ แแแแแแแก แฉแแแแฌแแ แแแก แแฃแ แแแแแแแแแ แแแแแ แแขแฃแแ แแ แแชแแกแแกแแแแก แแ, แแแแก แแแแ, แกแแจแฃแแแแแแก แแแซแแแแ แกแฌแ แแคแแ แแฉแแแแแ แงแแแแ แฉแแแแฌแแ แ, แ แแแแแแช แแแแแแจแแ แแแฃแแแ แแแแแ แแขแฃแแ แฌแแ แแแแก แแแแแแแแแกแแแ แแแกแ แแแแแขแแคแแแแขแแ แแก แกแแคแฃแซแแแแแ. แแแกแ แแฃแจแแแแ แแแแแชแแแแแ Zimbra OSE-แแก แงแแแแ แแแ แกแแแแ, แแแฌแงแแแฃแแ 8.7-แแแ. แแฅ แแ แแก แกแชแแแแ แแก แขแแฅแกแขแ.
#! /usr/bin/perl
use strict;
use warnings;
# Postfix delivery agents
my @agents = qw(discard error lmtp local pipe smtp virtual);
my $instre = qr{(?x)
A # Absolute line start
(?:S+ s+){3} # Timestamp, adjust for other time formats
S+ s+ # Hostname
(postfix(?:-[^/s]+)?) # Capture instance name stopping before first '/'
(?:/S+)* # Optional non-captured '/'-delimited qualifiers
/ # Final '/' before the daemon program name
};
my $cmdpidre = qr{(?x)
G # Continue from previous match
(S+)[(d+)]:s+ # command[pid]:
};
my %smtpd;
my %smtp;
my %transaction;
my $i = 0;
my %seqno;
my %isagent = map { ($_, 1) } @agents;
while (<>) {
next unless m{$instre}ogc; my $inst = $1;
next unless m{$cmdpidre}ogc; my $command = $1; my $pid = $2;
if ($command eq "smtpd") {
if (m{Gconnect from }gc) {
# Start new log
$smtpd{$pid}->{"log"} = $_; next;
}
$smtpd{$pid}->{"log"} .= $_;
if (m{G(w+): client=}gc) {
# Fresh transaction
my $qid = "$inst/$1";
$smtpd{$pid}->{"qid"} = $qid;
$transaction{$qid} = $smtpd{$pid}->{"log"};
$seqno{$qid} = ++$i;
next;
}
my $qid = $smtpd{$pid}->{"qid"};
$transaction{$qid} .= $_
if (defined($qid) && exists $transaction{$qid});
delete $smtpd{$pid} if (m{Gdisconnect from}gc);
next;
}
if ($command eq "pickup") {
if (m{G(w+): uid=}gc) {
my $qid = "$inst/$1";
$transaction{$qid} = $_;
$seqno{$qid} = ++$i;
}
next;
}
# bounce(8) logs transaction start after cleanup(8) already logged
# the message-id, so the cleanup log entry may be first
#
if ($command eq "cleanup") {
next unless (m{G(w+): }gc);
my $qid = "$inst/$1";
$transaction{$qid} .= $_;
$seqno{$qid} = ++$i if (! exists $seqno{$qid});
next;
}
if ($command eq "qmgr") {
next unless (m{G(w+): }gc);
my $qid = "$inst/$1";
if (defined($transaction{$qid})) {
$transaction{$qid} .= $_;
if (m{Gremoved$}gc) {
print delete $transaction{$qid}, "n";
}
}
next;
}
# Save pre-delivery messages for smtp(8) and lmtp(8)
#
if ($command eq "smtp" || $command eq "lmtp") {
$smtp{$pid} .= $_;
if (m{G(w+): to=}gc) {
my $qid = "$inst/$1";
if (defined($transaction{$qid})) {
$transaction{$qid} .= $smtp{$pid};
}
delete $smtp{$pid};
}
next;
}
if ($command eq "bounce") {
if (m{G(w+): .*? notification: (w+)$}gc) {
my $qid = "$inst/$1";
my $newid = "$inst/$2";
if (defined($transaction{$qid})) {
$transaction{$qid} .= $_;
}
$transaction{$newid} =
$_ . $transaction{$newid};
$seqno{$newid} = ++$i if (! exists $seqno{$newid});
}
next;
}
if ($isagent{$command}) {
if (m{G(w+): to=}gc) {
my $qid = "$inst/$1";
if (defined($transaction{$qid})) {
$transaction{$qid} .= $_;
}
}
next;
}
}
# Dump logs of incomplete transactions.
foreach my $qid (sort {$seqno{$a} <=> $seqno{$b}} keys %transaction) {
print $transaction{$qid}, "n";
}
แกแแ แแแขแ แแแฌแแ แแแแ Perl-แจแ แแ แแแก แแแกแแจแแแแแ แกแแญแแ แแ แคแแแแจแ แจแแแแฎแแ collate.pl, แแแฎแแแแ แแก แจแแกแ แฃแแแแแแ แแ แจแแแแแ แแแฃแจแแแ แคแแแแ, แ แแแแแจแแช แแแแแแแแฃแแแ แแฃแ แแแแแก แคแแแแ แแ แแแแแแงแแแแ pgrep, แ แแแ แแแแแฆแแ แแฅแแแแแแแก แกแแกแฃแ แแแแ แฌแแ แแแแก แกแแแแแแขแแคแแแแชแแ แแแคแแ แแแชแแ collate.pl /var/log/zimbra.log | pgrep'[แแ.แคแแกแขแแ แแแชแฃแแแ]> '. แจแแแแแ แแฅแแแแ แฎแแแแแแก แแแแแแแแแแ แฃแแ แแแแแแแแแแ, แ แแแแแแช แจแแแชแแแก แแแคแแ แแแชแแแก แกแแ แแแ แแ แแกแแก แแแแแแแแแแแแแก แจแแกแแฎแแ.
# collate.pl /var/log/zimbra.log | pgrep '<[email protected]>'
Oct 13 10:17:00 mail postfix/pickup[4089]: 4FF14284F45: uid=1034 from=********
Oct 13 10:17:00 mail postfix/cleanup[26776]: 4FF14284F45: message-id=*******
Oct 13 10:17:00 mail postfix/qmgr[9946]: 4FF14284F45: from=********, size=1387, nrcpt=1 (queue active)
Oct 13 10:17:00 mail postfix/smtp[7516]: Anonymous TLS connection established to mail.*******[168.*.*.4]:25: TLSv1 with cipher ADH-AES256-SHA (256/256 bits)
Oct 13 10:17:00 mail postfix/smtp[7516]: 4FF14284F45: to=*********, relay=mail.*******[168.*.*.4]:25, delay=0.25, delays=0.02/0.02/0.16/0.06, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 878833424CF)
Oct 13 10:17:00 mail postfix/qmgr[9946]: 4FF14284F45: removed
Oct 13 10:17:07 mail postfix/smtpd[21777]: connect from zimbra.******[168.*.*.4]
Oct 13 10:17:07 mail postfix/smtpd[21777]: Anonymous TLS connection established from zimbra.******[168.*.*.4]: TLSv1 with cipher ADH-AES256-SHA (256/256 bits)
Oct 13 10:17:08 mail postfix/smtpd[21777]: 0CB69282F4E: client=zimbra.******[168.*.*.4]
Oct 13 10:17:08 mail postfix/cleanup[26776]: 0CB69282F4E: message-id=zimbra.******
Oct 13 10:17:08 mail postfix/qmgr[9946]: 0CB69282F4E: from=zimbra.******, size=3606, nrcpt=1 (queue active)
Oct 13 10:17:08 mail postfix/virtual[5291]: 0CB69282F4E: to=zimbra.******, orig_to=zimbra.******, relay=virtual, delay=0.03, delays=0.02/0/0/0.01, dsn=2.0.0, status=sent (delivered to maildir)
Oct 13 10:17:08 mail postfix/qmgr[9946]: 0CB69282F4E: removed
Zextras Suite-แแแ แแแแแแจแแ แแแฃแแ แงแแแแ แแแแฎแแแกแแแแก แจแแแแซแแแแ แแแฃแแแแจแแ แแแ Zextras-แแก แฌแแ แแแแแแแแแแแก แแแแขแแ แแแ แขแ แแแแแแคแแแแแก แแ.แคแแกแขแแ. [แแ.แคแแกแขแแ แแแชแฃแแแ]
แฌแงแแ แ: www.habr.com