SVN como servicio

Siempre dije que cuando uno busca una cosa por segunda vez lo mas probable es que tenga que buscarla por tercera ves. Eso me paso con ese script que encontre hace un tiempo dando vueltas por internet.
Pero mejor vamos al punto de este post: vamos emular a svn como si fuese un servicio.
Las ventajas de esto es que tenemos una sintaxis clara para levantarlo, pararlo y reseterlo.

En primer lugar creamos el archivo ‘subversion’ en /etc/init.d/.
Archivo “/etc/init.d/subversion”:


#!/bin/bash
#
#   /etc/rc.d/init.d/subversion
#
# Starts the Subversion Daemon
#
# chkconfig: 2345 90 10
# description: Subversion Daemon

# processname: svnserve

source /etc/rc.d/init.d/functions

[ -x /usr/bin/svnserve ] || exit 1

### Default variables
SYSCONFIG="/etc/sysconfig/subversion"

### Read configuration
[ -r "$SYSCONFIG" ] && source "$SYSCONFIG"

RETVAL=0
prog="svnserve"
desc="Subversion Daemon"

start() {
        echo -n $"Starting $desc ($prog): "
   daemon $prog -d $OPTIONS
   RETVAL=$?
   [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
   echo
}

stop() {
   echo -n $"Shutting down $desc ($prog): "
   killproc $prog
   RETVAL=$?
   [ $RETVAL -eq 0 ] && success || failure
   echo
   [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
   return $RETVAL
}

case "$1" in
  start)
   start
   ;;
  stop)
   stop
   ;;
  restart)
   stop
   start
   RETVAL=$?
   ;;
  condrestart)
        [ -e /var/lock/subsys/$prog ] && restart
   RETVAL=$?
   ;;
  *)
   echo $"Usage: $0 {start|stop|restart|condrestart}"
   RETVAL=1
esac

exit $RETVAL

Ya con esto tenemos declaradas las funciones básicas de un servicio.
Ahora creamos un fichero de configuración en sysconfig para parametros adicionales.

Archivo “/etc/sysconfig/subversion”:



# Configuration file for the Subversion service

#
# To pass additional options (for instace, -r root of directory to server) to
# the svnserve binary at startup, set OPTIONS here.
#
#OPTIONS=
OPTIONS="--threads --root /var/svn"

Por ultimo debemos hacer un cambio de permisos en este archivo y agregar a subvrsion como servicio (a estos comandos correrlos como root):


$>chmod +x '/etc/init.d/subversion
$>chkconfig --add subversion && chkconfig subversion on
$>service subversion start

Fuente: http://www.svnforum.org/2017/viewtopic.php?t=281

Tagged with: , ,
Posted in Development tools, Uncategorized