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.