Configure servoy 6.4 as service on Centos

Questions and answers for all installation-related topics for Servoy products

Configure servoy 6.4 as service on Centos

Postby stevek » Thu May 02, 2013 4:15 pm

hello all!

I would like to make servoy start on boot by placing a startnb.sh file in my /etc/init.d folder.

Can someone look at this and tell me if it is th most effecient way to do so:

#!/bin/bash
# this starts NoteBuilder
cd >path-to< /servoy/application_server
sh servoy_server.sh &

# this is to show PID
LASTPID=$(echo $!)
echo ${LASTPID}


Thanks so much!
stevek
 
Posts: 53
Joined: Thu Jan 25, 2007 7:19 pm

Re: Configure servoy 6.4 as service on Centos

Postby ngervasi » Fri May 03, 2013 9:58 am

That should work, as a reference here is my script for ubuntu/debian:

Code: Select all
#! /bin/sh
### BEGIN INIT INFO
# Provides:          Servoy Server
# Required-Start:    $local_fs $remote_fs
# Required-Stop:     $local_fs $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      S 0 1 6
# Short-Description: Servoy Server Startup Script
# Description:       This file starts the Servoy Server
### END INIT INFO

# Author: Nicola Gervasi <nick@sintpro.com>

# Do NOT "set -e"

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/usr/sbin:/usr/bin:/sbin:/bin
DESC="Servoy Server"
USER=servoy
HOME=/home/servoy/servoy/application_server
NAME=servoy_server.sh
DAEMON=$HOME/$NAME
DAEMON_ARGS=""
PIDFILE=$HOME/servoy.pid
SCRIPTNAME=/etc/init.d/servoy

# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

# Load the VERBOSE setting and other rcS variables
[ -f /etc/default/rcS ] && . /etc/default/rcS

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

#
# Function that starts the daemon/service
#
do_start()
{
   # Return
   #   0 if daemon has been started
   #   1 if daemon was already running
   #   2 if daemon could not be started
   start-stop-daemon --start --quiet  --pidfile $PIDFILE --chuid $USER --chdir $HOME \
      --make-pidfile --background --exec $DAEMON --$DAEMON_ARGS
   
   # Add code here, if necessary, that waits for the process to be ready
   # to handle requests from services started subsequently which depend
   # on this one.  As a last resort, sleep for some time.
}

#
# Function that stops the daemon/service
#
do_stop()
{
   # Return
   #   0 if daemon has been stopped
   #   1 if daemon was already stopped
   #   2 if daemon could not be stopped
   #   other if a failure occurred
   start-stop-daemon --stop --quiet --retry=TERM/5/KILL/5 \
      --user $USER --name "java" --oknodo
   RETVAL="$?"
   [ "$RETVAL" = 2 ] && return 2
   # Many daemons don't delete their pidfiles when they exit.
   rm -f $PIDFILE
   return "$RETVAL"
}

#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
   #
   # If the daemon can reload its configuration without
   # restarting (for example, when it is sent a SIGHUP),
   # then implement that here.
   #
   start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
   return 0
}

case "$1" in
  start)
   [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
   do_start
   case "$?" in
      0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
      2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
   esac
   ;;
  stop)
   [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
   do_stop
   case "$?" in
      0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
      2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
   esac
   ;;
  #reload|force-reload)
   #
   # If do_reload() is not implemented then leave this commented out
   # and leave 'force-reload' as an alias for 'restart'.
   #
   #log_daemon_msg "Reloading $DESC" "$NAME"
   #do_reload
   #log_end_msg $?
   #;;
  restart|force-reload)
   #
   # If the "reload" option is implemented then remove the
   # 'force-reload' alias
   #
   log_daemon_msg "Restarting $DESC" "$NAME"
   do_stop
   case "$?" in
     0|1)
      do_start
      case "$?" in
         0) log_end_msg 0 ;;
         1) log_end_msg 1 ;; # Old process is still running
         *) log_end_msg 1 ;; # Failed to start
      esac
      ;;
     *)
        # Failed to stop
      log_end_msg 1
      ;;
   esac
   ;;
  *)
   #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
   echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
   exit 3
   ;;
esac

:
Nicola Gervasi
sintpro.com
SAN Partner
ngervasi
 
Posts: 1485
Joined: Tue Dec 21, 2004 12:47 pm
Location: Arezzo, Italy

Re: Configure servoy 6.4 as service on Centos

Postby stevek » Fri May 03, 2013 1:50 pm

Thanks so much!
stevek
 
Posts: 53
Joined: Thu Jan 25, 2007 7:19 pm

Re: Configure servoy 6.4 as service on Centos

Postby nestrocuation » Thu Jun 06, 2013 8:54 pm

Hey Steve ,

Can u share how you confiigured servoy as service in centos . I added the script in /etc/init.d for my centOS , but its not recognizing command start or stop . am i missing something do i need to do something in my servoy directory , or edit wrapper.conf .

Nirav
nestrocuation
 
Posts: 61
Joined: Tue Jun 08, 2010 11:27 pm

Re: Configure servoy 6.4 as service on Centos

Postby Yeroc » Fri Jun 14, 2013 8:20 am

I'd recommend using the service wrapper that ships with Servoy (which you'll find in the application_server/service directory). It has its own init.d script which works well. In any event, to register your init.d script run (as root):

Code: Select all
/sbin/chkconfig --add <name_of_script>


You may need to follow that with:

Code: Select all
/sbin/chkconfig <name_of_script> on


Use your good friend Google or the man pages for further details.
Yeroc
 
Posts: 109
Joined: Tue Aug 12, 2008 1:12 am
Location: Calgary, AB, Canada


Return to Installation

Who is online

Users browsing this forum: No registered users and 4 guests