Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-release > by-pkgid > fd481f726bd6fbce27d1b24f7fc82c48 > files > 2

jchkmail-2.2.1-8.mga5.i586.rpm

#!/bin/sh
#
# j-chkmail 2.2.1
#
# chkconfig: 2345 80 30
# description: j-greyd - Joe's j-greyd
#		filtre de messagerie

### BEGIN INIT INFO
# Provides:                     j-greyd
# Required-Start:               $remote_fs
# Required-Stop:
# X-UnitedLinux-Should-Start:
# X-UnitedLinux-Should-Stop:
# Default-Start:                3 5
# Default-Stop:
# Description:                  Start j-chmail (filtre mail)
### END INIT INFO

#
# VARIABLES
#
JGREYD_HOME=/usr/sbin

JGREYD_BIN=j-greyd

OPTIONS=" "

WORKROOT=/var/lib/jchkmail
STATEDIR=/var/run/jchkmail
CONFDIR=/etc/mail/jchkmail


# Get config.

test -f /etc/sysconfig/jgreyd && . /etc/sysconfig/jgreyd
test -f /etc/default/jgreyd   && . /etc/default/jgreyd


GREYD_PIDFILE=$STATEDIR/j-greyd.pid
SOCKFILE=$STATEDIR/j-greyd.sock
CFFILE=$CONFDIR/j-chkmail.cf

#
# Get unix socket file from configuration file
#
#TFILE=`grep "^SOCKET" $CFFILE | awk '{print $2}'`
#if [ -n "$TFILE" ];
#then
#  TFILE=`echo $TFILE | sed s/local://`
#  TFILE=`echo $TFILE | sed s/unix://`
#fi
#
#if [ -n "$TFILE" ] ;
#then
#  SOCKFILE=$TFILE
#fi

#
# Get PIDFILE file from configuration file
#
#TFILE=`grep "^GREYD_PID_FILE" $CFFILE | awk '{print $2}'`
#if [ -n "$TFILE" ] ;
#then
#  GREYD_PIDFILE=$TFILE
#fi

#
#
#
USR_ID=jchkmail
GRP_ID=jchkmail

#
# Initializing process runtime state files
#
#TPID=`grep "^GREYD_PID_FILE" $CFFILE | awk '{print $2}'`
#if [ -n "$TPID" ] ;
#then
#  # echo "Setting GREYD_PIDFILE to $TPID"
#  GREYD_PIDFILE=$TPID
#fi

#TSOCK=`grep "^UNIX_SOCK" $CFFILE | awk '{print $2}'`
#if [ -n "$TSOCK" ] ;
#then
#  # echo "Setting UNIX_SOCK to $TSOCK"
#  SOCKFILE=$TSOCK
#fi

#
# MACROS
#

check_and_kill()
{
  PID=`head -1 $1`
  kill -0 $PID > /dev/null 2>&1
  [ $? -eq 0 ] && kill $PID
}

setupdirs ()
{
  if [ -n "$WORKROOT" -a ! -d $WORKROOT ] ; then
    mkdir -p $WORKROOT
    chmod 755 $WORKROOT
    if [ -n "$USR_ID" ] ; then
      chown $USR_ID $WORKROOT
    fi
    if [ -n "$GRP_ID" ] ; then
      chgrp $GRP_ID $WORKROOT
    fi
  fi

  if [ -n "$STATEDIR" -a ! -d $STATEDIR ] ; then
    mkdir -p $STATEDIR
    chmod 755 $STATEDIR
    if [ -n "$USR_ID" ] ; then
      chown $USR_ID $STATEDIR
    fi
    if [ -n "$GRP_ID" ] ; then
      chgrp $GRP_ID $STATEDIR
    fi
  fi
}

cleanpidfile ()
{
  run=`/usr/bin/ps -edf | grep $JGREYD_BIN  | grep -c -v grep`
  if [ "$run" = "0" ] ; then
    if [ -f $GREYD_PIDFILE ] ; then
      echo "Removing old PID file..."
      rm -f $GREYD_PIDFILE
    fi
  fi
}

cleansockfile ()
{
  run=`/usr/bin/ps -edf | grep $JGREYD_BIN  | grep -c -v grep`
  if [ "$run" = "0" ] ; then
    if [ -r $SOCKFILE ] ; then
      echo "Removing old SOCK file..."
      rm -f $SOCKFILE
    fi
  fi
}

removesockfile ()
{
  if [ -r $SOCKFILE ] ; then
    echo "Removing old SOCK file..."
    rm -f $SOCKFILE
  fi
}

start ()
{
  cleanpidfile
  cleansockfile

  if [ -f $JGREYD_HOME/$JGREYD_BIN ] ; then
    echo "Starting $JGREYD_BIN...."
    $JGREYD_HOME/$JGREYD_BIN $OPTIONS 
    echo ".... $JGREYD_BIN started !"
  fi
}

stop () {
  echo "Stopping $JGREYD_BIN...."
  i=10
  while [ $i -gt 0 -a -f $GREYD_PIDFILE ]; do
    kill `head -1 $GREYD_PIDFILE`
    i=`expr $i - 1`
    sleep 1
  done
  cleanpidfile
  cleansockfile
  echo " OK !"
}

restart () 
{
  stop
  sleep 2
  start
}

#
# Real script begins here
#
setupdirs

case "$1" in
'start')
	start
	;;

'stop')
	stop
	;;

'restart')
	restart
	;;

*)
	echo "Usage: $0 { start | stop | restart | help }"
        cat <<EOF
start      - start j-greyd
stop       - stop j-greyd
restart    - stop and start j-greyd
             (send SIGUSR2 to the daemon)
help       - this screen

EOF
	exit 1
	;;
esac

exit 0