sources-request@panda.UUCP (11/14/85)
Mod.sources: Volume 3, Issue 43 Submitted by: David Barto <ihnp4!bang!celerity!barto> : feed me to sh cat > INFO <<'end-INFO' The following is a script to track and mail to ADMIN the clean up of the sendmail queue. This clears invalid files, moves out the wedged mail and sends a report to the administrator listed in ADMIN. I have been using it for about 3 months without problems, and It lets me know how well the local area network moves its mail. I install it as /usr/adm/clr.queue, and have cron run it once a nite at about 2am. (low active user count). end-INFO cat > clr.queue <<'end-clr.queue' #! /bin/csh -f # clear the sendmail queue of any waiting mail # set ADMIN = barto set mqueue = /usr/spool/mqueue set output = /tmp/clr.out$$ cat /dev/null > $output cd $mqueue foreach f (*) switch ($f) case 'syslog*': # skip log files breaksw; case 'df*': set qf = `echo $f | sed -e 's/df/qf/' ` if (! -e $qf) then echo "Missing qf file for $f" >> $output echo "Contents of $f follow:" >> $output cat $f >> $output echo "---- end of $f" >> $output echo "/bin/rm -f $f" >> $output /bin/rm -f $f else if (-z $f) then echo "$f is empty, deleted" >> $output /bin/rm -f $f endif breaksw case 'xf*': case 'lf*': echo /bin/rm $f >> $output /bin/rm $f breaksw case 'qf*': set df = `echo $f | sed -e 's/qf/df/' ` if (! -e $df) then echo "Missing df file for $f" >> $output echo "Contents of $f follow:" >> $output cat $f >> $output echo "---- end of $f" >> $output echo /bin/rm $f >> $output /bin/rm $f endif breaksw default: echo "Invalid file $f, deleted" >> $output /bin/rm -f $f breaksw endsw end /usr/lib/sendmail -q -v >> $output if (! -z $output) then Mail -s "Sendmail Cleanup" $ADMIN < $output endif /bin/rm $output end-clr.queue exit