Automatizando o serviço do Redmine via webrick

Publicado por Rogerio J. Gentil (última atualização em 28/01/2011)

[ Hits: 8.394 ]

Homepage: www.linkedin.com/in/rogeriogentil

Download redmine.sh




Este é um script de automação para iniciar, parar e reiniciar o serviço do Redmine via webrick. Neste, definem-se o diretório onde os arquivos do Redmine estão localizados (RED_PATH), os argumentos a serem utilizados para subir o serviço (ARGS), o arquivo que armazena o PID de execução atual do processo (PID) e o arquivo que armazenará o PID atual temporariamente (PID_FILE).

  



Esconder código-fonte

#!/bin/sh
#
# Descricao: Inicializador do Redmine Task Tracking System.
#
# Criado por Rogerio J. Gentil em 20/12/2010.

# Path do servidor script do Redmine.
RED_PATH=/var/www/redmine

# Daemon.
NAME=redmine
ARGS="-e production -d"
PID=$RED_PATH/tmp/pids/server.pid
PID_FILE=/var/run/$NAME.pid

start(){
   echo -n "Iniciando ${NAME}: "

   cd $RED_PATH   
   ruby script/server webrick $ARGS

   sleep 2

   touch $PID_FILE
   cat $PID > $PID_FILE

   echo
}

stop(){
   echo -n "Parando ${NAME}: "
   
   PROCESS=`cat $PID_FILE`

   kill -9 $PROCESS && /bin/rm -f $PID_FILE
   
   echo
}

case "$1" in
   start)
      start
      ;;
   stop)
      stop
      ;;
   restart)
      stop
      start
      ;;
   *)
      echo "Use: $SCRIPTNAME {start|stop|restart}"
      exit 3
      ;;
esac

# Fim do script.

Scripts recomendados

Programa Escolar

Monta e desmonta o CD-ROM automaticamente

Cadastrar máquina Win2K ou XP no Linux para Domínio

Script de instalação para Pidgin

Script para geração de mala direta usando svg


  

Comentários
[1] Comentário enviado por bdsr em 17/03/2011 - 16:08h

Cara parabéns!
O script é simples mas é de muitissima utilidade, eu ja tinha visto q so dava pra parar o serviço executando o kill, mas eu estava matutando para saber se havia outra forma, mas depois de ver o seu script, achei a solução.
Obrigado

[2] Comentário enviado por rogerio_gentil em 20/03/2011 - 14:43h

Obrigado pelo comentário bdsr.
Realmente é um script simples que construí misturando alguns outros scripts que encontrei pela web. Ele é eficaz e ainda pode ser melhorado!
Abraços.

[3] Comentário enviado por kelseysantos em 12/01/2012 - 18:06h

Senhores;

Melhor é assim simples e funcional..

Parabéns..

[4] Comentário enviado por silviogarbes em 31/01/2014 - 17:38h

Fiz uma pequena alteracao no seu script.

// ---------------------//
// Script inicialização //
// ---------------------//

# vi /etc/init.d/redmine
# chmod 755 /etc/init.d/redmine
# chkconfig --add redmine
# chkconfig --level 235 redmine on
# chkconfig --list | grep redmine


// -------- SCRIPT -------- //

#!/bin/sh
# chkconfig: 345 99 10
# description: Redmine
#
# Descricao: Inicializador do Redmine Task Tracking System.
#
# Criado por Rogerio J. Gentil em 20/12/2010.
# Modificado por Silvio Garbes em 31/01/2014

# Path do servidor script do Redmine.
RED_PATH=/var/redmine

# Daemon.
NAME=redmine
ARGS="-e production -d"
PID=$RED_PATH/tmp/pids/server.pid
PID_FILE=/var/run/$NAME.pid

start(){
echo -n "Iniciando ${NAME}: "

cd $RED_PATH
ruby script/rails server webrick $ARGS

sleep 2

touch $PID_FILE
cat $PID > $PID_FILE

echo
}

# Check if Redmine is running
status(){
RUBYPID=`ps aux | grep "ruby script/rails server webrick ${ARGS}" | grep -v grep | awk '{print $2}'`
if [ "x$RUBYPID" = "x" ]; then
echo "* Redmine is not running"
else
echo "* Redmine is running"
fi
}

stop(){
echo -n "Parando ${NAME}: "

PROCESS=`cat $PID_FILE`

kill -9 $PROCESS && /bin/rm -f $PID_FILE

echo
}

case "$1" in
start)
start
;;
status)
status
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Use: $SCRIPTNAME {start|status|stop|restart}"
exit 3
;;
esac

# Fim do script.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts