#!/bin/sh tail -n 5000 /var/log/maillog|awk ' BEGIN { ORS="" search_time1 = "^" strftime("%b %e %H:%M", systime() - 1 * 60); search_time2 = "^" strftime("%b %e %H:%M", systime() - 2 * 60); search_time3 = "^" strftime("%b %e %H:%M", systime() - 3 * 60); search_time4 = "^" strftime("%b %e %H:%M", systime() - 4 * 60); search_time5 = "^" strftime("%b %e %H:%M", systime() - 5 * 60); search_mail = "sendmail"; search_spam1 = "Spam-Flag: YES"; search_spam2 = "check_relay"; search_sent = "stat=Sent"; search_recv1 = "localhost"; search_recv2 = "127.0.0.1"; search_virus = "Intercepted virus"; spam_count = 0; virus_count = 0; recv_count = 0; sent_count = 0; } { if ($0 ~ search_time1) time_trigger = 1; if ($0 ~ search_time2) time_trigger = 1; if ($0 ~ search_time3) time_trigger = 1; if ($0 ~ search_time4) time_trigger = 1; if ($0 ~ search_time5) time_trigger = 1; if ($0 ~ search_sent) is_sent_trigger = 1; if ($0 ~ search_recv1) is_recv_trigger = 1; if ($0 ~ search_recv2) is_recv_trigger = 1; if ($0 ~ search_spam1) is_spam_trigger = 1; if ($0 ~ search_spam2) is_rejected_trigger = 1; if ($0 ~ search_virus) is_virus_trigger = 1; if (time_trigger && is_virus_trigger) virus_count++; if (time_trigger && is_spam_trigger) spam_count++; if (time_trigger && is_not_spam_trigger) not_spam_count++; if ((time_trigger && is_sent_trigger) && !is_recv_trigger) sent_count++; if (time_trigger && is_sent_trigger && is_recv_trigger) recv_count++; is_sent_trigger = 0; is_recv_trigger = 0; is_spam_trigger = 0; is_virus_trigger = 0; } END { print "sent:"sent_count " recv:"recv_count " spam:"spam_count " virus:"virus_count; }' exit