This is a qmail web based status script
It does not use an http server, just tcpserver and qmailanalog.

Place it in /usr/local/bin edit the QMAILANALOG and LOGDIR if needed and run :

        /usr/local/bin/tcpserver 0 80 /usr/local/bin/qstat

Give it a try let me know if you find any bugs.

-jim



-------

#!/bin/sh
#qstat vre 0.1 - qmail web based stats
#Jim Arnott
#(c) Bridge Information Systems
#See DISCLAMER below
#[EMAIL PROTECTED]
#To use: /usr/local/bin/tcpserver 0 80 /usr/local/bin/qstat
#You must also have qmailanalog installed.

QMAILANALOG=/usr/local/qmailanalog/bin
LOGDIR=/var/qmail/log
maxlines=1000000

cmd=`head -1 | awk '{print $2}'`

type=`echo $cmd | awk -F\/ '{print $2}'`
cmd=`echo $cmd | awk -F\/ '{print $3}'`

if [ -z "$type" ]
then
        type=last
fi

if [ -z "$cmd" ]
then
        cmd=menu
fi
#echo type=$type
#echo cmd=$cmd

case $type in
last) log="`ls -1 $LOGDIR/@* | sort | tail -1`" label="last log file";;
last2) log="`ls -1 $LOGDIR/@* | sort | tail -2`" label="last 2 log files";;
last1000lines) log="`ls -1 $LOGDIR/@* | sort `" maxlines=1000 label="last 1000 
lines";;
all) log="`ls -1 $LOGDIR/@* | sort`" label="all log files";;
*) log="`ls -1 $LOGDIR/@* | sort | tail -1`" type=last label="last log file";;
esac
        
case $cmd in
menu)
        echo "<center><b><font color="#000000"><font size=+2>Qmail Stats Page - 
$label</font></font></b></center><P><ul>"
        echo "<li><a href=/$type/zoverall> Show overall stats </a></li>"
        echo "<li><a href=/$type/zsuccesses> Show qmail successes </a></li>"
        echo "<li><a href=/$type/zfailures> Show qmail failures </a></li>"
        echo "<li><a href=/$type/zdeferrals> Show qmail deferrals </a></li>"
        echo "<li><a href=/$type/zrecipients> Show recipients stats </a></li>"
        echo "<li><a href=/$type/zsenders> Show senders stats </a></li>"
        echo "<li><a href=/$type/zrhosts> Show rhosts stats </a></li>"
        echo "<li><a href=/$type/zrxdelay> Show rxdelay stats </a></li>"
        echo "<li><a href=/$type/zsendmail> Show sendmail stats </a></li>"
        echo "<li><a href=/$type/zsuids> Show suids stats </a></li>"
        echo "<li><a href=/$type/show> Show log lines </a></li>"
        echo "<li><a href=/$type/ps> Show qmail processes </a></li>"
        echo "</ul><p>Which log(s) ? [<a href=/last/>last</a>][<a 
href=/last2/>last two</a>][<a href=/last1000lines/>last 1000 lines</a>][<a 
href=/all/>all</a>]"
        exit
        ;;
zoverall|zdeferrals|zfailures|zrecipients|zrhosts|zrxdelay|zsenders|zsendmail|zs
uccesses|zsuids) 
        echo "<pre>"
        cat $log | tail -$maxlines | $QMAILANALOG/matchup | $QMAILANALOG/$cmd
        echo "</pre>"
        exit
        ;;
show)
        echo "<pre>"
        cat $log | tail -$maxlines 
        echo "</pre>"
        exit
        ;;
ps)
        echo "<pre>"
        ps -aef | egrep 'qmail|img' | egrep -v egrep
        echo "</pre>"
        exit
        ;;
esac

echo error
exit 

DISCLAIMER

"qstat" is distributed free of charge exept for *"Financial Information" 
purposes. It should not be considered an
official product of Bridge Information Systems.  James R. Arnott
supports "qstat" in his spare time and as time permits.

NO WARRANTY:

BECAUSE "qstat" IS DISTRIBUTED FREE OF CHARGE, THERE IS ABSOLUTELY NO
WARRANTY PROVIDED, TO THE EXTENT PERMITTED BY APPLICABLE STATE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING, BRIDGE INFORMATION SYSTEMS,
JAMES R. ARNOTT AND/OR OTHER PARTIES
PROVIDE "stat" "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK
AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD
THE "stat" PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
NECESSARY SERVICING, REPAIR OR CORRECTION.
 
IN NO EVENT WILL BRIDGE INFORMATION SYSTEM ,
JAMES R. ARNOTT, AND/OR ANY OTHER PARTY WHO MAY MODIFY AND
REDISTRIBUTE "qstat", BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY LOST
PROFITS, LOST MONIES, OR OTHER SPECIAL, INCIDENTAL OR CONSEQUENTIAL
DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE (INCLUDING BUT NOT
LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES
SUSTAINED BY THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH
OTHER PROGRAMS) THE PROGRAM, EVEN IF YOU HAVE BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY.

*If your primary business is distributing Financial Information
you can not use this script.

Reply via email to