Areca Raid mittels archttp überwachen

Holger Hecht hecht at biopsy.uni-jena.de
Mon Mar 3 19:34:22 CET 2008


Hallo,

hier ein Script, daß ich nach verschiedenen Vorlagen für Linux 
zurechtgeschneidert habe.
Getestet ist es für SuSE 10.3, 64 bit Version. Das einzige, was ich noch nicht 
wegbekomme, ist die Startmeldung des archttp64, ich kenne mich leider im 
Skripten nicht aus und weiß nicht, welchen Kanal ich dafür noch 
nach /dev/null verbiegen müßte, aber funktionieren tut es erstmal.

##########################################
#! /bin/sh

# Copyright (c) 2008 Holger Hecht
# All rights reserved.
#
# Author: Holger Hecht, 2008
# following instructions and using template
# from "Creating Custom init Scripts"
# http://www.novell.com/coolsolutions/feature/15380.html
#
# Commands used from https://testpattern.info/doku/wiki:areca
#
# /etc/init.d/areca
#   and its symbolic link
# /usr/sbin/rcareca


### BEGIN INIT INFO
# Provides:          areca
# Required-Start:
# Required-Stop:
# Default-Start:     3 5
# Default-Stop:      0 1 2 6
# Short-Description: Areca RAID controller management interface
# Description: archttp64 provides a web-interface for areca controllers
#              at port 81, basic configuration at port 82
#
### END INIT INFO


ARECA_BIN=/usr/local/sbin/archttp64
ARECA_CONFIG=/usr/local/sbin/archttpsrv.conf
DESCRIPTION="Areca RAID controller management interface"

# Check for missing binaries
test -x $ARECA_BIN || { echo "$ARECA_BIN not installed";
if [ "$1" = "stop" ]; then exit 0;
else exit 5; fi; }

# Check for existence of needed config file and read it
test -r $ARECA_CONFIG || { echo "$ARECA_CONFIG not existing";
if [ "$1" = "stop" ]; then exit 0;
else exit 6; fi; }


# Load the rc.status script for this service.
. /etc/rc.status

# Reset status of this service
rc_reset

case "$1" in
    start)
        echo -n "Starting $DESCRIPTION"
        ## Start daemon with startproc(8). If this fails
        ## the return value is set appropriately by startproc.
        startproc $ARECA_BIN $ARECA_CONFIG 2>/dev/null

        # Remember status and be verbose
        rc_status -v
        ;;
    stop)
        echo -n "Shutting down $DESCRIPTION"
        ## Stop daemon with killproc(8) and if this fails
        ## killproc sets the return value according to LSB.

        killproc -TERM $ARECA_BIN

        # Remember status and be verbose
        rc_status -v
        ;;
    restart)
        ## Stop the service and regardless of whether it was
        ## running or not, start it again.
        $0 stop
        $0 start

        # Remember status and be quiet
        rc_status
        ;;
    reload)
        # If it supports signaling:
        echo -n "Reload service $DESCRIPTION"
        killproc -HUP $ARECA_BIN
        #touch /var/run/ARECA.pid
        rc_status -v

        ## Otherwise if it does not support reload:
        #rc_failed 3
        #rc_status -v
        ;;
    status)
        echo -n "Checking for service $DESCRIPTION"
        ## Check status with checkproc(8), if process is running
        ## checkproc will return with exit status 0.
                                                                                                                                        
        # Return value is slightly different for the status command:
        # 0 - service up and running
        # 1 - service dead, but /var/run/  pid  file exists
        # 2 - service dead, but /var/lock/ lock file exists
        # 3 - service not running (unused)
        # 4 - service status unknown :-(
        # 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.)
                                                                                                                                        
        # NOTE: checkproc returns LSB compliant status values.
        checkproc $ARECA_BIN
        # NOTE: rc_status knows that we called this init script with
        # "status" option and adapts its messages accordingly.
        rc_status -v
        ;;
    *)
        ## If no parameters are given, print which are avaiable.
        echo "Usage: $0 {start|stop|status|restart|reload}"
        exit 1
        ;;
esac

rc_exit

###############################################

MFG

Holger



More information about the Linux mailing list