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

Publicado por Júlio Henrique 26/03/2005

[ Hits: 9.109 ]

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

Shell Script simples usando case

Script para adicionar usuario/computador Samba PDC

Relógio em posições aleatórias

Script Menu

Atualizando o banco de dados do ClamAV sem freshclam


  

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