Help hurricane victims by donating to the American Red Cross.

QmAnalogReport

From Ollie's Web Site

This is a script to generate files from qmail's logs and report on them though D. J. Bernstein's qmail-analog.

Install qmail-analog source. Patch with errno patch in netqmail-1.05.

Install tai64nfrac source. This program converts tai64 timestamp in qmail's multilog files to "seconds since epoch" format qmail-analog expects.

#!/bin/bash
# uses data from /var/log/qmail/current previously
# processed in qm-analog-process and report on it.
#
# also, generates new data files from logs.
# owa 9/16/06
#
dir="/var/log/qmail"
reportnum="0"
#
   echo "            +"
   echo "           +++"
   echo "          +++++"
   echo "         +++++++"
   echo "        +++++++++"
   echo "       +++++++++++"
   echo "      +++++++++++++"
   echo "     +++++++++++++++     "
   echo "    +++++++++++++++++    "
   echo "   +++++++++++++++++++   "
   echo "  +++++++++++++++++++++  "
   echo " +++++++++++++++++++++++ "
#
until [ $reportnum -eq 99 ]
do
#
   echo "+++++++++++++++++++++++++"
   echo "  qmail-analog reports   "
   echo "+++++++++++++++++++++++++"
   echo
   echo "  1. zddist - distribution of ddelays"
   echo "  2. zdeferrals - recap of deferrals"
   echo "  3. zfailures - list of failures"
   echo "  4. zoverall - overall statistics"
   echo "  5. zrecipients - list of recipients"
   echo "  6. zrhosts - list of recipient hosts"
   echo "  7. zrxdelay - xdelays by recipient"
   echo "  8. zsenders - list of senders"
   echo "  9. zsendmail - log entries for successful sends"
   echo " 10. zsuccesses - reasons for success"
   echo " 11. zsuids - recap by uid"
   echo
   echo " 66. Regenerate data file"
   echo
   echo " 99. Exit"
   echo
   echo "Select a report: "
   read reportnum
#
   case "$reportnum"
   in
       "1")
           /usr/local/qmailanalog/bin/zddist <"$dir"/out3 | less
           ;;
       "2")
           /usr/local/qmailanalog/bin/zdeferrals <"$dir"/out3
           ;;
       "3")
           /usr/local/qmailanalog/bin/zfailures <"$dir"/out3
           ;;
       "4")
           /usr/local/qmailanalog/bin/zoverall <"$dir"/out3
           ;;
       "5")
           /usr/local/qmailanalog/bin/zrecipients <"$dir"/out3 | less
           ;;
       "6")
           /usr/local/qmailanalog/bin/zrhosts <"$dir"/out3 | less
           ;;
       "7")
           /usr/local/qmailanalog/bin/zrxdelay <"$dir"/out3 | less
           ;;
       "8")
           /usr/local/qmailanalog/bin/zsenders <"$dir"/out3 | less
           ;;
       "9")
           /usr/local/qmailanalog/bin/zsendmail <"$dir"/out3 | less
           ;;
       "10")
           /usr/local/qmailanalog/bin/zsuccesses <"$dir"/out3 | less
           ;;
       "11")
           /usr/local/qmailanalog/bin/zsuids <"$dir"/out3
           ;;
       "66")
           cat "$dir"/{*.s,current} >"$dir"/out1
           tai64nfrac <"$dir"/out1 >"$dir"/out2
           /usr/local/qmailanalog/bin/matchup <"$dir"/out2 >"$dir"/out3
           echo "Done regenerating data file."
           ;;
   esac
#
done