sendmail clean-up script
sources-request at panda.UUCP
sources-request at panda.UUCP
Thu Nov 14 07:11:14 AEST 1985
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
More information about the Mod.sources
mailing list