Daryl & all:

To help get around the problem of SA 3.1 dying here a friend wrote the
following pair of shell scripts:

spamw.bash - run from cron to make sure the spam.bash script hasn't
stopped

spam.bash - watched for spamd to be running and if it stops restarts
it.

Here they are, YMMV, no guarantees, etc.

spamw.bash
==========
#!/bin/bash
 
#****************************************************************************#
#               PSSPAM.KSH #
#----------------------------------------------------------------------------#
#       Usage:     To check for the spam assassin process. #
#       Author:    Bill Hodgkinson #
#       Written:   1-10.2006 #
# #
#****************************************************************************#
# Can be run from cron with
# #00-59/1 * * * * /root/spamw.bash > /dev/null 2>&1
 
set -x
 
#----------------------------------------------------------------------------#
#               S C R I P T   S E T U P #
#----------------------------------------------------------------------------#
 
#--  Global Variable
 
[EMAIL PROTECTED]
DATE=`date`
DIR1=/usr/sbin
BIN1="spam.bash"
LOG=/tmp/restart-spamd.tmp 
MESSAGE1="The Spam monitor process was restarted on $DATE"
PROC=spam.bash
 
 
#***********************************************************************#
#                    S E T    U P    F U N C T I O N #
#***********************************************************************#
#
 
function CHECKSA
{
# looks for the target process
 
TESTPS=`ps -e | grep $PROC | head -n 1 | grep -v grep` 
TESTSA=$TESTPS"junk" 
echo $TESTSA
 
if [[ $TESTSA = junk ]]; then
        nohup $DIR1/$BIN1 > /dev/null 2>&1 &
        sleep 5
        echo $MESSAGE1 >> $LOG
        echo $MESSAGE1 | mail -s "$MESSAGE1" $ADMIN
fi
exit
}
 
#***********************************************************************#
#               O U T E T    B L O C K   O F    S C R I P T #
#***********************************************************************#
#
CHECKSA
#***********************************************************************#
#               E N D   O F   S C R I P T #
#***********************************************************************#


spam.bash
=========
#!/bin/bash
 
#****************************************************************************#
#               PSSPAM.KSH #
#----------------------------------------------------------------------------#
#       Usage:     To check for the spam assassin process. #
#       Author:    Bill Hodgkinson #
#       Written:   1-10.2006 #
# #
#****************************************************************************#
 
set -x
 
#----------------------------------------------------------------------------#
#               S C R I P T   S E T U P #
#----------------------------------------------------------------------------#
 
#--  Global Variable
 
[EMAIL PROTECTED]
DATE=`date`
DIR1=/usr/local/bin
BIN1="spamd -d -u spamd -m 10 --max-conn-per-child=50" 
LOG=/tmp/restart-spamd.tmp 
MESSAGE1="The Spamd process was restarted on $DATE" PROC=spamd
PROC=spamd
 
 
#***********************************************************************#
#                    S E T    U P    F U N C T I O N #
#***********************************************************************#
#
 
function CHECKSA
{
# looks for the target process
 
TESTPS=`ps -e | grep $PROC | head -n 1 | grep -v grep` 
TESTSA=$TESTPS"junk" 
echo $TESTSA
 
if [[ $TESTSA = junk ]]; then
        $DIR1/$BIN1
        echo $MESSAGE1 >> $LOG
        echo $MESSAGE1 | mail -s "$MESSAGE1" $ADMIN
fi
}
 
#______________________________________________________________________
#
 
function BACKGRD
{
#
while [ 1 ]
        do
        CHECKSA
        sleep 10 
        done
}
#***********************************************************************#
#               O U T E T    B L O C K   O F    S C R I P T #
#***********************************************************************#
#
BACKGRD
 
#***********************************************************************#
#               E N D   O F   S C R I P T #
#***********************************************************************#
===[George R. Kasica]===        +1 262 677 0766
President                       +1 206 374 6482 FAX 
Netwrx Consulting Inc.          Jackson, WI USA 
http://www.netwrx1.com
[EMAIL PROTECTED]
ICQ #12862186

Reply via email to