source: admin/Sources/Services/opengnsys.init @ 2348f5a

Last change on this file since 2348f5a was d0df50b6, checked in by ramon <ramongomez@…>, 13 years ago

Versión 1.0.4, #531: Integrar versión 1.0.4 en rama principal.

git-svn-id: https://opengnsys.es/svn/trunk@3259 a21b9725-9963-47de-94b9-378ad31fedc9

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