source: admin/Sources/Services/opengnsys.init @ a89da3d

Last change on this file since a89da3d was c2bd1e9, checked in by Irina Gómez <irinagomez@…>, 5 years ago

#988 Fix opengnsys startup script.

The port value for 'faucet' is fixed, it does not depend on the ogserver configuration. Required for multicast transfer.

  • Property mode set to 100755
File size: 4.9 KB
RevLine 
[d4e90c1]1#!/bin/bash
[ca6183e]2
3### BEGIN INIT INFO
4# Provides:          opengnsys
5# Required-Start:
6# Required-Stop:
7# Default-Start:     2 3 4 5
8# Default-Stop:      1
[d7fe54a]9# Short-Description: Servicios del sistema OpenGnsys
10# Description:       Servicios del sistema OpenGnsys
[ca6183e]11### END INIT INFO
12
13#
14# Definiciones globales
15#
16BASEDIR=/opt/opengnsys
[e3d8dd1]17OPENGNSYSUSER="opengnsys"
18IMAGEDIR=$BASEDIR/images
19CLIENTLOGDIR=$BASEDIR/log/clients
[ca6183e]20
21#
22# Servidor de Repositorio
23#
[8fc9552]24############## ADV
25REPOAUXNAME=ogAdmRepoAux
26REPOAUXDAEMON=$BASEDIR/sbin/$REPOAUXNAME
[c2bd1e9]27REPOAUXPORT=2009
[aeb0e7d7]28
29#
[ca6183e]30# Opciones Bittorrent
31#
32
33BTTRACK=/usr/bin/bttrack.bittorrent
34BTSEEDER=/usr/bin/btlaunchmany.bittornado
35BTTRACKPORT=6969
36BTTRACKDFILE=/tmp/dstate
[e3d8dd1]37BTTRACKLOG=$BASEDIR/log/bttrack.log
[ca6183e]38BTINTERVAL=30
[e3d8dd1]39BTTORRENTSDIR=$BASEDIR/images
[1cf578b]40BTTRACK_OPTIONS=" --port $BTTRACKPORT --dfile $BTTRACKDFILE --reannounce_interval $BTINTERVAL --logfile $BTTRACKLOG --allowed_dir $BTTORRENTSDIR --allow_get 1"
[ca6183e]41BTTRACKPID="/var/run/bttrack.pid"
42BTSEEDERPID="/var/run/btseeder.pid"
43
44
45export PATH="${PATH:+$PATH:}/usr/sbin:/sbin:/usr/bin"
46
47# Read config file if it is present.
[1cf578b]48if [ -r /etc/default/opengnsys ]; then
[4b08fa5]49    source /etc/default/opengnsys
[ca6183e]50fi
51
[2777f20]52# Configuración de arranque según la distribución Linux usada.
53config() {
[6374326]54    if [ -f /etc/os-release ]; then
55        source /etc/os-release
[eeb438a]56        OSDISTRIB="$ID"
[6374326]57    else
58        OSDISTRIB=$(lsb_release -is 2>/dev/null)
59    fi
[eeb438a]60    OSDISTRIB="${OSDISTRIB,,}"
[2777f20]61    case "$OSDISTRIB" in
[eeb438a]62        ubuntu|debian|linuxmint)
[5454b9d]63            INITFUNCTIONS=/lib/lsb/init-functions
[e64207e]64            EXTRAOPTS="--"
[5454b9d]65            ACTIONMSG="log_daemon_msg"
66            SUCCESSMSG="log_end_msg 0"
67            FAILMSG="log_end_msg 1"
[1cf578b]68            TRACKERSTART="start-stop-daemon --make-pidfile --pidfile $BTTRACKPID --start --quiet --background --exec"
69            BTTRACK_OPTIONS="$BTTRACK_OPTIONS --parse_allowed_interval 1"
[9d859d0]70            TRACKERSTOP="start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile $BTTRACKPID"
[1cf578b]71            SEEDERSTART="start-stop-daemon --make-pidfile --pidfile $BTSEEDERPID --start --quiet --background --exec"
72            SEEDERSTOP="start-stop-daemon --stop --quiet --oknodo --pidfile $BTSEEDERPID"
[2777f20]73            ;;
[eeb438a]74        centos|fedora)
[5454b9d]75            INITFUNCTIONS=/etc/init.d/functions
[55477d2]76            ENDOPTS="&"
[5454b9d]77            ACTIONMSG="echo -n"
[55477d2]78            SUCCESSMSG="eval ( success; echo )"
79            FAILMSG="eval ( failure; echo )"
[1cf578b]80            BTTRACK=/usr/bin/bttrack.py
81            BTSEEDER=/usr/bin/btlaunchmany.py
82            TRACKERSTART="daemon --pidfile $BTTRACKPID"
83            TRACKERSTOP="killproc -p $BTTRACKPID $BTTRACK"
84            SEEDERSTART="daemon --pidfile $BTSEEDERPID"
85            SEEDERSTOP="killproc -p $BTSEEDERPID $BTSEEDER"
[2777f20]86            ;;
[6ef01d9]87        *)  echo "Distribución Linux desconcocida o no soportada."
[2777f20]88            exit ;;
89    esac
[d4e90c1]90    if [ -r $INITFUNCTIONS ]; then
[5454b9d]91        source $INITFUNCTIONS
92    fi
[2777f20]93}
94
[ca6183e]95arranca_demonios() {
[d7fe54a]96  # Comprobar que está instalado OpenGnsys.
[e3d8dd1]97  if [ ! -d $BASEDIR ]; then
98     $ACTIONMSG "ERROR: No existe el directorio $BASEDIR"
99     $FAILMSG
100     exit $?
101  fi
[ea60f41]102  # Deshabilitar modo reforzado de SELinux.
103  [ -f /selinux/enforce ] && echo 0 > /selinux/enforce
[e3d8dd1]104  # Verificar permisos básicos.
105  if [ "$(stat --printf="%A%G" $IMAGEDIR 2>/dev/null)" != "drwxrwxr-x$OPENGNSYSUSER" ]; then
106     mkdir $IMAGEDIR 2>/dev/null
107     chmod 775 $IMAGEDIR
108     chgrp $OPENGNSYSUSER $IMAGEDIR
109  fi
110  if [ "$(stat --printf="%A%G" $CLIENTLOGDIR 2>/dev/null)" != "drwxrwxr-x$OPENGNSYSUSER" ]; then
111     mkdir -p $CLIENTLOGDIR 2>/dev/null
112     chmod 775 $CLIENTLOGDIR
113     chgrp $OPENGNSYSUSER $CLIENTLOGDIR
114  fi
115  # Arrancar los servicios indicados.
[1cf578b]116  if [ $RUN_OGADMREPO = "yes" ]; then
[5454b9d]117     $ACTIONMSG "Iniciando demonio: $REPOAUXNAME"
118     faucet $REPOAUXPORT --daemon --in bash -c "$REPOAUXDAEMON"
119     [ $? = 0 ] && $SUCCESSMSG || $FAILMSG
[ca6183e]120  fi
[1cf578b]121  if [ $RUN_BTTRACKER = "yes" ]; then
[5454b9d]122     $ACTIONMSG "Iniciando demonio: $BTTRACK"
[1cf578b]123     $TRACKERSTART $BTTRACK $EXTRAOPTS $BTTRACK_OPTIONS $ENDOPTS
[5454b9d]124     [ $? = 0 ] && $SUCCESSMSG || $FAILMSG
[ca6183e]125  fi
[1cf578b]126  if [ $RUN_BTSEEDER = "yes" ]; then
[5454b9d]127     $ACTIONMSG "Iniciando demonio: $BTSEEDER"
[1cf578b]128     $SEEDERSTART $BTSEEDER $EXTRAOPTS $BTTORRENTSDIR &>/dev/null $ENDOPTS
[5454b9d]129     [ $? = 0 ] && $SUCCESSMSG || $FAILMSG
[ca6183e]130  fi
131
132}
133
134para_demonios() {
[1cf578b]135  if [ -e $BTSEEDERPID ]; then
[5454b9d]136    $ACTIONMSG "Parando demonio: $BTSEEDER"
[1cf578b]137    $SEEDERSTOP
[c2bd1e9]138    if [ $? = 0 ]; then
139           $SUCCESSMSG
140           rm -f $BTSEEDERPID
141    else
142           $FAILMSG
143    fi
[ca6183e]144  fi
[1cf578b]145  if [ -e $BTTRACKPID ]; then
[5454b9d]146    $ACTIONMSG "Parando demonio: $BTTRACK"
[1cf578b]147    $TRACKERSTOP
[c2bd1e9]148    if [ $? = 0 ]; then
149            $SUCCESSMSG
150            rm -f $BTTRACKPID
151    else
152            $FAILMSG
153    fi
[aeb0e7d7]154  fi
[5454b9d]155  $ACTIONMSG "Parando demonio: $REPOAUXNAME"
[8fc9552]156  pkill faucet
[4b08fa5]157  [ $? -le 1 ] && $SUCCESSMSG || $FAILMSG
[ca6183e]158}
159
[2777f20]160config
161
[ca6183e]162case "$1" in
163  start)
164        arranca_demonios
165        ;;
166  stop)
167        para_demonios
168        ;;
169  restart)
170        para_demonios
171        arranca_demonios
172        ;;
173
174  *)
[6ef01d9]175        echo "Uso: $0 {start|stop|restart}"
[ca6183e]176        exit 1
177        ;;
178esac
179
180exit 0
[e3d8dd1]181
Note: See TracBrowser for help on using the repository browser.