Un ejemplo de como sería el esqueleto para crear un servicio es el siguiente:
#! /bin/sh
set -ePATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:directorio donde esten los ejecutables que haga el starServer, stopServer
DESC="descripción entre comillas"
NAME=nombre del servio
STARTUP=ruta completa incluyendo el ejecutable de arranque
SHUTDOWN=ruta completa incluyendo el ejecutable de parada
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
USER=usuario con el que se va a lanzar
test -x $DAEMON || exit 0
d_start() {
su $USER $STARTUP || echo -n " already running"
}
d_stop() {
su $USER $SHUTDOWN || echo -n " not running"
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
d_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
d_stop
echo "."
;;
reload|restart|force-reload)
echo -n "Restarting $DESC: $NAME"
d_stop
sleep 10
d_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 3
;;
esac
exit 0
Tras generarlo le asignamos permisos de ejecución de la siguiente manera (siempre como root):
-bash-3.2$ chmod 755 prueba
Si hacemos un ls -ltr quedaría con los permisos:
-rwxr-xr-x 1 root root 1547 ene 19 12:23 PRUEBA
Con esto ya tendríamos un servicio que arranque nuestro proceso. Para poderlo arrancar sería tan fácil como hacer dentro del directorio /etc/init.d/
un:
-bash-3.2$ ./prueba start
-bash-3.2$ ./prueba stopAhora para incluirlo en el arranque del sistema utilizamos el comando chkconfig como root de la siguiente manera :
-bash-3.2$ chkconfig --add prueba --level 2345
Esto lo incluye en el arranque del sistema para los niveles de arranque 2, 3, 4 y 5.
No hay comentarios:
Publicar un comentario