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

918-git-images-111dconfigfileconfigure-oglivegit-imageslgromero-new-oglivemainmaint-cronmount-efivarfsmultivmmultivm-ogboot-installerogClonningEngineogboot-installer-jenkinsoglive-ipv6test-python-scriptsticket-301ticket-50ticket-50-oldticket-577ticket-585ticket-611ticket-612ticket-693ticket-700ubu24tplunification2use-local-agent-oglivevarios-instalacionwebconsole3
Last change on this file since b50031b was d7fe54a, checked in by ramon <ramongomez@…>, 8 years ago

#730: Sustitución del nombre del proyecto en ficheros del servidor.

git-svn-id: https://opengnsys.es/svn/branches/version1.1@5390 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100755
File size: 7.2 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=ogAdmServer
25SERVERDAEMON=$BASEDIR/sbin/$SERVERNAME
26SERVERCFG=$BASEDIR/etc/$SERVERNAME.cfg
27SERVERLOG=$BASEDIR/log/$SERVERNAME.log
28SERVERDAEMON_OPTIONS="-f $SERVERCFG -l $SERVERLOG"
29
30#
31# Servidor de Repositorio
32#
33REPONAME=ogAdmRepo
34REPODAEMON=$BASEDIR/sbin/$REPONAME
35REPOCFG=$BASEDIR/etc/$REPONAME.cfg
36REPOLOG=$BASEDIR/log/$REPONAME.log
37REPODAEMON_OPTIONS="-f $REPOCFG -l $REPOLOG"
38############## ADV
39REPOAUXNAME=ogAdmRepoAux
40REPOAUXDAEMON=$BASEDIR/sbin/$REPOAUXNAME
41REPOAUXPORT=$(awk -F= '/PUERTO/ {print $2+1}' $SERVERCFG 2>/dev/null)
42############## ADV
43############# IRINA # para setBootMode desde el cliente
44SERVERAUXNAME=ogAdmServerAux
45SERVERAUXDAEMON=$BASEDIR/sbin/$SERVERAUXNAME
46SERVERAUXPORT=2011 
47############# IRINA
48
49#
50# Servidor de tareas programadas
51#
52AGENTNAME=ogAdmAgent
53AGENTDAEMON=$BASEDIR/sbin/$AGENTNAME
54AGENTCFG=$BASEDIR/etc/$AGENTNAME.cfg
55AGENTLOG=$BASEDIR/log/$AGENTNAME.log
56AGENTDAEMON_OPTIONS="-f $AGENTCFG -l $AGENTLOG"
57
58#
59# Opciones Bittorrent
60#
61
62BTTRACK=/usr/bin/bttrack.bittorrent
63BTSEEDER=/usr/bin/btlaunchmany.bittornado
64BTTRACKPORT=6969
65BTTRACKDFILE=/tmp/dstate
66BTTRACKLOG=$BASEDIR/log/bttrack.log
67BTINTERVAL=30
68BTTORRENTSDIR=$BASEDIR/images
69BTTRACK_OPTIONS=" --port $BTTRACKPORT --dfile $BTTRACKDFILE --reannounce_interval $BTINTERVAL --logfile $BTTRACKLOG --allowed_dir $BTTORRENTSDIR --allow_get 1"
70BTTRACKPID="/var/run/bttrack.pid"
71BTSEEDERPID="/var/run/btseeder.pid"
72
73
74export PATH="${PATH:+$PATH:}/usr/sbin:/sbin:/usr/bin"
75
76# Read config file if it is present.
77if [ -r /etc/default/opengnsys ]; then
78    source /etc/default/opengnsys
79fi
80
81# Configuración de arranque según la distribución Linux usada.
82config() {
83    if [ -f /etc/os-release ]; then
84        source /etc/os-release
85        OSDISTRIB="$ID"
86    else
87        OSDISTRIB=$(lsb_release -is 2>/dev/null)
88    fi
89    OSDISTRIB="${OSDISTRIB,,}"
90    case "$OSDISTRIB" in
91        ubuntu|debian|linuxmint)
92            INITFUNCTIONS=/lib/lsb/init-functions
93            DAEMONSTART="start-stop-daemon --start --quiet --background --exec"
94            EXTRAOPTS="--"
95            DAEMONSTOP="start-stop-daemon --stop --quiet --oknodo --name"
96            ACTIONMSG="log_daemon_msg"
97            SUCCESSMSG="log_end_msg 0"
98            FAILMSG="log_end_msg 1"
99            TRACKERSTART="start-stop-daemon --make-pidfile --pidfile $BTTRACKPID --start --quiet --background --exec"
100            BTTRACK_OPTIONS="$BTTRACK_OPTIONS --parse_allowed_interval 1"
101            TRACKERSTOP="start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile $BTTRACKPID"
102            SEEDERSTART="start-stop-daemon --make-pidfile --pidfile $BTSEEDERPID --start --quiet --background --exec"
103            SEEDERSTOP="start-stop-daemon --stop --quiet --oknodo --pidfile $BTSEEDERPID"
104            ;;
105        centos|fedora)
106            INITFUNCTIONS=/etc/init.d/functions
107            DAEMONSTART="daemon"
108            ENDOPTS="&"
109            DAEMONSTOP="killproc"
110            ACTIONMSG="echo -n"
111            SUCCESSMSG="eval ( success; echo )"
112            FAILMSG="eval ( failure; echo )"
113            BTTRACK=/usr/bin/bttrack.py
114            BTSEEDER=/usr/bin/btlaunchmany.py
115            TRACKERSTART="daemon --pidfile $BTTRACKPID"
116            TRACKERSTOP="killproc -p $BTTRACKPID $BTTRACK"
117            SEEDERSTART="daemon --pidfile $BTSEEDERPID"
118            SEEDERSTOP="killproc -p $BTSEEDERPID $BTSEEDER"
119            ;;
120        *)  echo "Distribución Linux desconcocida o no soportada."
121            exit ;;
122    esac
123    if [ -r $INITFUNCTIONS ]; then
124        source $INITFUNCTIONS
125    fi
126}
127
128arranca_demonios() {
129  # Comprobar que está instalado OpenGnsys.
130  if [ ! -d $BASEDIR ]; then
131     $ACTIONMSG "ERROR: No existe el directorio $BASEDIR"
132     $FAILMSG
133     exit $?
134  fi
135  # Deshabilitar modo reforzado de SELinux.
136  [ -f /selinux/enforce ] && echo 0 > /selinux/enforce
137  # Verificar permisos básicos.
138  if [ "$(stat --printf="%A%G" $IMAGEDIR 2>/dev/null)" != "drwxrwxr-x$OPENGNSYSUSER" ]; then
139     mkdir $IMAGEDIR 2>/dev/null
140     chmod 775 $IMAGEDIR
141     chgrp $OPENGNSYSUSER $IMAGEDIR
142  fi
143  if [ "$(stat --printf="%A%G" $CLIENTLOGDIR 2>/dev/null)" != "drwxrwxr-x$OPENGNSYSUSER" ]; then
144     mkdir -p $CLIENTLOGDIR 2>/dev/null
145     chmod 775 $CLIENTLOGDIR
146     chgrp $OPENGNSYSUSER $CLIENTLOGDIR
147  fi
148  # Arrancar los servicios indicados.
149  if [ $RUN_OGADMSERVER = "yes" ]; then
150     $ACTIONMSG "Iniciando demonio: $SERVERNAME"
151     $DAEMONSTART $SERVERDAEMON $EXTRAOPTS $SERVERDAEMON_OPTIONS $ENDOPTS
152     [ $? = 0 ] && $SUCCESSMSG || $FAILMSG
153     # Para SetBootmode desde el cliente
154     $ACTIONMSG "Iniciando demonio: $SERVERAUXNAME"                    #
155     faucet $SERVERAUXPORT --daemon --in bash -c "$SERVERAUXDAEMON"    #   NUEVO
156     [ $? = 0 ] && $SUCCESSMSG || $FAILMSG
157  fi
158  if [ $RUN_OGADMSERVER = "yes" ] && [ $RUN_OGADMREPO = "yes" ]; then
159     sleep 5 # Damos tiempo a que ogAdmServer este funcionando
160  fi
161  if [ $RUN_OGADMREPO = "yes" ]; then
162     $ACTIONMSG "Iniciando demonio: $REPONAME"
163     $DAEMONSTART $REPODAEMON $EXTRAOPTS $REPODAEMON_OPTIONS $ENDOPTS
164     [ $? = 0 ] && $SUCCESSMSG || $FAILMSG
165     $ACTIONMSG "Iniciando demonio: $REPOAUXNAME"
166     faucet $REPOAUXPORT --daemon --in bash -c "$REPOAUXDAEMON"
167     [ $? = 0 ] && $SUCCESSMSG || $FAILMSG
168  fi
169  if [ $RUN_OGADMAGENT = "yes" ]; then
170     $ACTIONMSG "Iniciando demonio: $AGENTNAME"
171     $DAEMONSTART $AGENTDAEMON $EXTRAOPTS $AGENTDAEMON_OPTIONS $ENDOPTS
172     [ $? = 0 ] && $SUCCESSMSG || $FAILMSG
173  fi   
174  if [ $RUN_BTTRACKER = "yes" ]; then
175     $ACTIONMSG "Iniciando demonio: $BTTRACK"
176     $TRACKERSTART $BTTRACK $EXTRAOPTS $BTTRACK_OPTIONS $ENDOPTS
177     [ $? = 0 ] && $SUCCESSMSG || $FAILMSG
178  fi
179  if [ $RUN_BTSEEDER = "yes" ]; then
180     $ACTIONMSG "Iniciando demonio: $BTSEEDER"
181     $SEEDERSTART $BTSEEDER $EXTRAOPTS $BTTORRENTSDIR &>/dev/null $ENDOPTS
182     [ $? = 0 ] && $SUCCESSMSG || $FAILMSG
183  fi
184
185}
186
187para_demonios() {
188  if [ -e $BTSEEDERPID ]; then
189    $ACTIONMSG "Parando demonio: $BTSEEDER"
190    $SEEDERSTOP
191    [ $? = 0 ] && $SUCCESSMSG || $FAILMSG
192    rm -f $BTSEEDERPID
193  fi
194  if [ -e $BTTRACKPID ]; then
195    $ACTIONMSG "Parando demonio: $BTTRACK"
196    $TRACKERSTOP
197    [ $? = 0 ] && $SUCCESSMSG || $FAILMSG
198    rm -f $BTTRACKPID
199  fi
200  $ACTIONMSG "Parando demonio: $AGENTNAME"
201  $DAEMONSTOP $AGENTNAME
202  [ $? = 0 ] && $SUCCESSMSG || $FAILMSG
203  $ACTIONMSG "Parando demonio: $REPONAME"
204  $DAEMONSTOP $REPONAME
205  [ $? = 0 ] && $SUCCESSMSG || $FAILMSG
206  $ACTIONMSG "Parando demonio: $REPOAUXNAME"
207  pkill faucet
208  [ $? -le 1 ] && $SUCCESSMSG || $FAILMSG
209  $ACTIONMSG "Parando demonio: $SERVERNAME"
210  $DAEMONSTOP $SERVERNAME
211  [ $? = 0 ] && $SUCCESSMSG || $FAILMSG
212}
213
214config
215
216case "$1" in
217  start)
218        arranca_demonios
219        ;;
220  stop)
221        para_demonios
222        ;;
223  restart)
224        para_demonios
225        arranca_demonios
226        ;;
227
228  *)
229        echo "Uso: $0 {start|stop|restart}"
230        exit 1
231        ;;
232esac
233
234exit 0
235
Note: See TracBrowser for help on using the repository browser.