Script para Inicialização / Finalização do MRTG no boot

Publicado por Júlio Henrique 26/03/2005

[ Hits: 9.117 ]

Download mrtgd




Este script pode ser utilizado para iniciar e finalizar o MRTG no boot.
Suporta os parâmetros start, stop, restart e status.
Foi criado na Distribuição Debian, mas acredito que possa ser adaptado para qualquer outra distro.

  



Esconder código-fonte

#!/bin/sh
# mrtgd - Script para iniciar e parar monitoração via MRTG
# 26/03/2005 - Júlio Henrique
# Email: julio.henrique@gmail.com
#
# Divulgo este script NO ESTADO, sem nenhuma garantia, implícita
# ou explícita; e o mesmo pode ser utilizado, copiado, distribuído
# e modificado, conforme a licença GPL.
# Sugestões e/ou melhorias são muito bem-vindas.
#
#

# Variáveis
MRTG=/usr/bin/mrtg     # Caminho do executável do MRTG
CFG=/etc/mrtg                 # Caminho dos arquivos de configuração do MRTG
MRTGUSER=mrtg      # Usuário do MRTG

#################################
#    Declaraçao das Funções     #
#################################

# Mostra a sintaxe do comando
Uso(){
   echo -e "\nUtilize $0 {start|stop|restart|status}\n"
   return 0
}

# Inicia o MRTG
Iniciar(){
   echo -e "\nIniciando MRTG..."
   for cfg in `ls $CFG/*.cfg`; do
      $MRTG --user=$MRTGUSER $cfg &> /dev/null
   done
   echo -e "\nMRTG iniciado!"
   return 0
}

# Encerra o MRTG
Parar(){
   echo -e "\nParando MRTG..."
   for dotpid in `ls $CFG/*.pid 2> /dev/null`; do
      kill -9 `cat $dotpid` &> /dev/null   # -9 para que o MRTG nao exiba mensagem de erro
      echo "Finalizado processo `cat $dotpid`"
      rm -f $dotpid
   done
   if [ "$dotpid" = "" ]; then
      echo -e "\nErro! MRTG não está em execução\n"
   else
      echo -e "\nMRTG Finalizado!\n"
   fi
   return 0
}


# Verifica se o MRTG está rodando e devolve o PID
Status(){
   for cfg in `ls $CFG/*.cfg`; do
      mrtgpid=$(ps ax | grep -v "grep" | grep "$cfg" | tr -s " " | cut -f2 -d" ")
      if [ "$mrtgpid" = "" ]; then
         echo -e "\nO MRTG nao está em execução no momento."
         return 0
      fi
      echo -e "\nMRTG em execução\tCFG: $cfg\tProcesso: $mrtgpid"
   done
   echo ""
   return 0
}

####################################
# Término da declaração de Funções #
####################################

# Verifica se recebeu argumento na linha de comando
if [ "$#" = "0" ]; then
   Uso
   exit
fi


# Teste das opções recebidas via linha de comando
while [ "$1" ]; do
   case $1 in
      status) Status;;
      start) Iniciar;;
      stop) Parar;;
      restart) Parar && Iniciar;;
      *) echo ""
         echo "ERRO! Opção inválida: $1"; Uso;;
   esac
   shift
done

Scripts recomendados

System Software 2.0 - Instale e remova repositórios e programas de forma simples

Adicionando usuários para email

sis_info

Gere Números Randomicos

Script para baixar pacotes no Debian e derivados.


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts