De:LinuxInstall

Aus YaCyWiki
Wechseln zu: Navigation, Suche

Beispiel Initscript

Hier ein Beispiel-Initscript als Basis für Eigentwicklungen auf dem jeweiligen Betriebssystem.

### /etc/init.d/yacy 
DESC="yacy" 
NAME=yacy 
STARTDAEMON=/home/yacy/yacy/startYACY.sh 
STOPDAEMON=/home/yacy/yacy/stopYACY.sh 
PIDFILE=/var/run/$NAME.pid 
SCRIPTNAME=/etc/init.d/$NAME 
USER=yacy 
HOME=/home/yacy/yacy/ 
test -x $DAEMON || exit 0 

d_start() { 
	start-stop-daemon --start --chdir $HOME --chuid $USER --quiet --pidfile $PIDFILE --exec $STARTDAEMON 
} 

d_stop() { 
	start-stop-daemon --start --chdir $HOME --chuid $USER --quiet --pidfile $PIDFILE --exec $STOPDAEMON 
} 

case "$1" in 
	start) 
		echo -n "Starting $DESC: $NAME" 
		d_start 
		echo "." 
	;; 
	stop) 
		echo -n "Stopping $DESC: $NAME" 
		d_stop 
		echo "." 
	;; 
	restart|force-reload) 
		echo -n "Restarting $DESC: $NAME" 
		d_stop 
		sleep 2 
		d_start 
		echo "." 
	;; 
	*) 
		echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 
		exit 1 
	;; 
esac 

exit 0 
### EOF 

Beispielscript für Fedora Core2

#/bin/sh
### /etc/init.d/yacy
DESC="yacy"
NAME=yacy
STARTDAEMON=/home/yacy/yacy/startYACY.sh
STOPDAEMON=/home/yacy/yacy/stopYACY.sh
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME="$0"
USER=yacy
HOME=/home/yacy/yacy/
test -x $DAEMON || exit 0
RETVAL=0

. /etc/init.d/functions

d_start() {
   if [ -f /var/lock/subsys/yacy ]; then
      ps -ef | grep yacy >/dev/null 2>&1
      if [ $? = 0 ]; then
         failure
         echo
         exit 1   
      fi
   fi
   cd $HOME
   touch $PIDFILE
   chown $USER $PIDFILE
   daemon $STARTDAEMON
   RETVAL=$?
   if [ $RETVAL = 0 ]; then
      touch /var/lock/subsys/yacy
   fi
}

d_stop() {
   $STOPDAEMON
   RETVAL=$?
   if [ $RETVAL = 0 ]; then
      rm -f /var/lock/subsys/yacy 2>/dev/null
      rm -f $PIDFILE 2>/dev/null
   else
      if [ -f /var/run/yacy.pid ]; then
         ypid=`cat /var/run/yacy.pid`
         if [ -n $ypid ]; then
            kill -KILL $ypid
            RETVAL=$?
            if [ $RETVAL = 0]; then
                         rm -f /var/lock/subsys/yacy 2>/dev/null
                         rm -f $PIDFILE 2>/dev/null
            fi
         fi
      fi
   fi
   if [ $RETVAL -eq 0 ]; then
      success
   else
      FAilure
   fi;
}

case "$1" in
   start)
      echo -n "Starting $DESC: $NAME"
      d_start
      echo 
   ;;
   stop)
      echo -n "Stopping $DESC: $NAME"
      d_stop
      echo
   ;;
   restart|force-reload)
      echo -n "Restarting $DESC: $NAME"
      i=0
      while [ $i -lt 10 ]; do
         d_stop
         sleep 2
         ps -ef | grep yacy >/dev/null 2>&1
         [ $? = 0 ] || break
         let i=$i+1
      done
      [ $i -lt 10 ] && d_start || RETVAL=1
      echo 
   ;;
   *)
      echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
      exit 1
   ;;
esac

exit 0
### EOF