Amavis RC Skript

Bash, Shell, PHP, Python, Perl, CGI
ego
Posts: 87
Joined: 2003-07-21 10:18

Amavis RC Skript

Post by ego »

Ich habe mich mal daran gesetzt und ein RC Skript zusammen gebastelt. Und Nein...das mitgelieferte Skript läuft leider nicht bei mir, deshalb dieses Skript. Der Einsatz dieses Skriptes ist für SuSE Linux gedacht.

Ich bitte mal das Skript zu überfliegen, ob man es so lassen kann. Getestet habe ich es unter SuSE 8.1 und 9.1

Code: Select all

#! /bin/sh
#
# RC Script for amavisd-new (SuSE 8.0 - 9.1)
# Copyright (c) 2004, Jan Urbansky. All rights reserved. 
#
### BEGIN INIT INFO 
# Provides: amavisd-new
# Required-Start: 
# Required-Stop: 
# Default-Start: 2 3 5 
# Default-Stop: 
# Description: AMaViS Daemon (amavisd-new) 
### END INIT INFO 

. /etc/rc.status 

base=${0##*/} 
link=${base#*[SK][0-9][0-9]} 

#
# full path to the amavisd-new executable and his PID file, change it
#
PROG=/usr/bin/amavisd
PIDFILE=/var/amavis/amavisd.pid

return=$rc_done 
case "$1" in 
 start) 
   echo -n "Starting service Amavis daemon:" 
   $PROG start || return=$rc_failed
   echo -e "$return" 
   ;; 
 stop) 
   echo -n "Shutting down service Amavis daemon:" 
   $PROG stop || return=$rc_failed
   echo -e "$return" 
   ;; 
 reload) 
   $0 stop && $0 start || return=$rc_failed 
   ;;
 restart)
   $0 stop && $0 start || return=$rc_failed
   ;;
 status)
   echo -n "Checking for service Amavis daemon: "
   checkproc -p $PIDFILE amavisd && echo OK || echo No process
   ;;
 debug) 
   echo -n "Starting debug mode for service Amavis daemon:"
   $PROG debug || return=$rc_failed 
   echo -e "$return"
   ;;
 debug-sa)
   echo -n "Starting SpamAssassin debug mode for Amavis daemon:"
   $PROG debug-sa || return=$rc_failed
   echo -e "$return"
   ;;
 foreground)
   echo -n "Starting service Amavis daemon in foreground mode:"
   $PROG foreground || return=$rc_failed
   echo -e "$return"
   ;;
 *) 
   echo "Usage: $0 {start|stop|reload|restart|status|debug|debug-sa|foreground}" 
   exit 1 
   ;; 
esac 

# Inform the caller not only verbosely and set an exit status. 
test "$return" = "$rc_done" || exit 1 
exit 0
answermachine
Posts: 10
Joined: 2003-09-04 13:33

Re: Amavis RC Skript

Post by answermachine »

Also ich würde für die "Start" und "Stop" Sektion "startproc" und "killproc" verwenden, um einen Daemon zu starten. Das legt dann auch die pid Datei an, die mit "checkproc" bei "Status" geprüft wird.

Code: Select all

start) 
   echo -n "Starting service Amavis daemon:" 
   startproc -p $PIDFILE $PROG start || return=$rc_failed 
   echo -e "$return" 
   ;; 
 stop) 
   echo -n "Shutting down service Amavis daemon:" 
   killproc -p $PIDFILE -TERM $PROG || return=$rc_failed 
   echo -e "$return" 
   ;; 
Für die Sektion "Reload" und "Restart" würde ich dann konsequent
weiter mit "killproc" arbeiten.

Code: Select all

reload) 
   killproc -p $PIDFILE -HUP $PROG || return=$rc_failed 
   ;;
answermachine

--

Gas Heizung Sanitär
http://www.hs-pongratz.de