#!/bin/bash ### BEGIN INIT INFO # Provides: opengnsys # Required-Start: # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 1 # Short-Description: Servicios del sistema OpenGnSys # Description: Servicios del sistema OpenGnSys: ### END INIT INFO # # Definiciones globales # BASEDIR=/opt/opengnsys # # Servidor de OpenGnSys # SERVERNAME=ogAdmServer SERVERDAEMON=$BASEDIR/sbin/$SERVERNAME SERVERCFG=$BASEDIR/etc/$SERVERNAME.cfg SERVERLOG=$BASEDIR/log/$SERVERNAME.log SERVERDAEMON_OPTIONS="-f $SERVERCFG -l $SERVERLOG" # # Servidor de Repositorio # REPONAME=ogAdmRepo REPODAEMON=$BASEDIR/sbin/$REPONAME REPOCFG=$BASEDIR/etc/$REPONAME.cfg REPOLOG=$BASEDIR/log/$REPONAME.log REPODAEMON_OPTIONS="-f $REPOCFG -l $REPOLOG" ############## ADV REPOAUXNAME=ogAdmRepoAux REPOAUXDAEMON=$BASEDIR/sbin/$REPOAUXNAME REPOAUXPORT=$((`cat $SERVERCFG | grep PUERTO | cut -f2 -d"="` + 1)) ############## ADV # # Servidor de tareas programadas # AGENTNAME=ogAdmAgent AGENTDAEMON=$BASEDIR/sbin/$AGENTNAME AGENTCFG=$BASEDIR/etc/$AGENTNAME.cfg AGENTLOG=$BASEDIR/log/$AGENTNAME.log AGENTDAEMON_OPTIONS="-f $AGENTCFG -l $AGENTLOG" # # Opciones Bittorrent # BTTRACK=/usr/bin/bttrack.bittorrent BTSEEDER=/usr/bin/btlaunchmany.bittornado BTTRACKPORT=6969 BTTRACKDFILE=/tmp/dstate BTTRACKLOG=/opt/opengnsys/log/bttrack.log BTINTERVAL=30 BTTORRENTSDIR=/opt/opengnsys/images BTALLOW_GET=1 BTTRACK_OPTIONS=" --port $BTTRACKPORT --dfile $BTTRACKDFILE --reannounce_interval $BTINTERVAL --logfile $BTTRACKLOG --allowed_dir $BTTORRENTSDIR --allow_get $BTALLOW_GET --parse_allowed_interval 1" BTTRACKPID="/var/run/bttrack.pid" BTSEEDERPID="/var/run/btseeder.pid" export PATH="${PATH:+$PATH:}/usr/sbin:/sbin:/usr/bin" # Read config file if it is present. if [ -r /etc/default/opengnsys ] then source /etc/default/opengnsys fi # Configuración de arranque según la distribución Linux usada. config() { OSDISTRIB=$(lsb_release -is 2>/dev/null) case "$OSDISTRIB" in Ubuntu) INITFUNCTIONS=/lib/lsb/init-functions DAEMONSTART="start-stop-daemon --start --quiet --background --exec" EXTRAOPTS="--" DAEMONSTOP="start-stop-daemon --stop --quiet --oknodo --exec" ACTIONMSG="log_daemon_msg" SUCCESSMSG="log_end_msg 0" FAILMSG="log_end_msg 1" ;; *) echo "Distribución Linux desconcocida o no soportada." exit ;; esac if [ -r $INITFUNCTIONS ]; then source $INITFUNCTIONS fi } arranca_demonios() { if [ $RUN_OGADMSERVER = "yes" ] then $ACTIONMSG "Iniciando demonio: $SERVERNAME" $DAEMONSTART $SERVERDAEMON $EXTRAOPTS $SERVERDAEMON_OPTIONS [ $? = 0 ] && $SUCCESSMSG || $FAILMSG fi if [ $RUN_OGADMSERVER = "yes" ] && [ $RUN_OGADMREPO = "yes" ] then sleep 5 # Damos tiempo a que ogAdmServer este funcionando fi if [ $RUN_OGADMREPO = "yes" ] then $ACTIONMSG "Iniciando demonio: $REPONAME" $DAEMONSTART $REPODAEMON $EXTRAOPTS $REPODAEMON_OPTIONS [ $? = 0 ] && $SUCCESSMSG || $FAILMSG ############ ADV $ACTIONMSG "Iniciando demonio: $REPOAUXNAME" faucet $REPOAUXPORT --daemon --in bash -c "$REPOAUXDAEMON" [ $? = 0 ] && $SUCCESSMSG || $FAILMSG ############ ADV fi if [ $RUN_OGADMAGENT = "yes" ] then $ACTIONMSG "Iniciando demonio: $AGENTNAME" $DAEMONSTART $AGENTDAEMON $EXTRAOPTS $AGENTDAEMON_OPTIONS [ $? = 0 ] && $SUCCESSMSG || $FAILMSG fi if [ $RUN_BTTRACKER = "yes" ] then $ACTIONMSG "Iniciando demonio: $BTTRACK" start-stop-daemon --make-pidfile --pidfile $BTTRACKPID --start --quiet --background --exec $BTTRACK -- $BTTRACK_OPTIONS [ $? = 0 ] && $SUCCESSMSG || $FAILMSG fi if [ $RUN_BTSEEDER = "yes" ] then $ACTIONMSG "Iniciando demonio: $BTSEEDER" start-stop-daemon --make-pidfile --pidfile $BTSEEDERPID --start --quiet --background --exec $BTSEEDER -- $BTTORRENTSDIR [ $? = 0 ] && $SUCCESSMSG || $FAILMSG fi } para_demonios() { if [ -e $BTSEEDERPID ] then $ACTIONMSG "Parando demonio: $BTSEEDER" start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile $BTSEEDERPID [ $? = 0 ] && $SUCCESSMSG || $FAILMSG rm -f $BTSEEDERPID fi if [ -e $BTTRACKPID ] then $ACTIONMSG "Parando demonio: $BTTRACK" start-stop-daemon --stop --quiet --oknodo --pidfile $BTTRACKPID [ $? = 0 ] && $SUCCESSMSG || $FAILMSG rm -f $BTTRACKPID fi $ACTIONMSG "Parando demonio: $AGENTNAME" $DAEMONSTOP $AGENTDAEMON [ $? = 0 ] && $SUCCESSMSG || $FAILMSG $ACTIONMSG "Parando demonio: $REPONAME" $DAEMONSTOP $REPODAEMON [ $? = 0 ] && $SUCCESSMSG || $FAILMSG ############# ADV $ACTIONMSG "Parando demonio: $REPOAUXNAME" pkill faucet [ $? -le 1 ] && $SUCCESSMSG || $FAILMSG ############ ADV $ACTIONMSG "Parando demonio: $SERVERNAME" $DAEMONSTOP $SERVERDAEMON [ $? = 0 ] && $SUCCESSMSG || $FAILMSG } config case "$1" in start) arranca_demonios ;; stop) para_demonios ;; restart) para_demonios arranca_demonios ;; *) echo "Uso: $0 {start|stop|restart}" exit 1 ;; esac exit 0