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

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 b169708 was 831830f, checked in by irina <irinagomez@…>, 12 years ago

#493 Configurar el arranque PXE desde el cliente

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

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