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

Last change on this file since fe3a254 was c583144, checked in by OpenGnSys Support Team <soporte-og@…>, 5 years ago

#986 Rename to ogserver

Step forward to rename all ogAdmServer references to ogServer

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