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 -- Linux mailing list [email protected] subscribe/unsubscribe: http://lug-owl.de/mailman/listinfo/linux Hinweise zur Nutzung: http://www.lug-owl.de/Mailingliste/hints.epo
