teichmann@5118: #!/bin/bash teichmann@5118: # teichmann@5118: ### BEGIN INIT INFO teichmann@5118: # Provides: d4e-server teichmann@5118: # Required-Start: $network $syslog $remote_fs teichmann@5118: # Should-Start: $named $syslog $time teichmann@5118: # Required-Stop: $network $syslog teichmann@5118: # Should-Stop: $named $syslog $time teichmann@5118: # Default-Start: 3 5 teichmann@5118: # Default-Stop: 0 1 2 6 teichmann@5118: # Short-Description: Dive4Elements server teichmann@5118: # Description: Start Dive4Elements server teichmann@5118: ### END INIT INFO teichmann@5118: teichmann@5118: RUNAS=flys teichmann@5118: DIR="/opt/flys/current/server" teichmann@5118: teichmann@5118: CLASSPATH= teichmann@5118: for l in `find "$DIR/bin/lib" -name \*.jar -print`; do teichmann@5118: CLASSPATH=$CLASSPATH:$l teichmann@5118: done teichmann@5118: teichmann@5118: teichmann@5118: LOGFILE=/var/log/d4e-river.log teichmann@5118: PIDFILE=/var/run/d4e-river.pid teichmann@5118: ARGS="-Xmx256m \ teichmann@5118: -server \ teichmann@5118: -Djava.awt.headless=true \ teichmann@5118: -Dflys.datacage.recommendations.development=false \ teichmann@5118: -Djava.io.tmpdir=\"$DIR/cache\" \ teichmann@5118: -Dflys.uesk.keep.artifactsdir=false \ teichmann@5118: -Dwsplgen.bin.path=\"$DIR/bin/wsplgen.exe\" \ teichmann@5118: -Dwsplgen.log.output=false \ teichmann@5118: -Dartifact.database.dir=\"$DIR/conf\"" teichmann@5872: MAINCLASS=org.dive4elements.artifactdatabase.App teichmann@5118: teichmann@5118: # For SELinux we need to use 'runuser' not 'su' teichmann@5118: if [ -x "/sbin/runuser" ]; then teichmann@5118: SU="/sbin/runuser" teichmann@5118: else teichmann@5118: SU="/bin/su" teichmann@5118: fi teichmann@5118: teichmann@5118: case "$1" in teichmann@5118: start) teichmann@5118: echo "Starting D4E-river server..." teichmann@5118: $SU - $RUNAS -c "/usr/bin/java -classpath $CLASSPATH $ARGS $MAINCLASS" &> $LOGFILE & teichmann@5118: PID=$! teichmann@5118: echo $PID > $PIDFILE teichmann@5118: ;; teichmann@5118: stop) teichmann@5118: echo "Stopping D4E-river server..." teichmann@5118: PID=`cat $PIDFILE` teichmann@5118: STOPRES=0 teichmann@5118: while [ $STOPRES -le 0 ] teichmann@5118: do teichmann@5118: kill -15 $PID &> /dev/null teichmann@5118: STOPRES=$? teichmann@5118: sleep 1 teichmann@5118: done teichmann@5118: echo "done." teichmann@5118: ;; teichmann@5118: restart) teichmann@5118: $0 stop && $0 start teichmann@5118: ;; teichmann@5118: *) teichmann@5118: echo "Usage: $0 [start|stop|restart]" teichmann@5118: esac teichmann@5118: