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