quarta-feira, 27 de novembro de 2013

Script de Menu feito em Linux - Exemplo


while : ; do
     menu=$(
dialog --stdout \
--backtitle 'Sistema de Gerencia de Informações da LAN HOUSE' \
--title 'LAN HOUSE - Gerenciamento do Servidor' \
--menu 'Selecione a Opcao:' \
0 0 0   \
'Bloquear Site' '' \
'Liberar Site' '' \
'Listar Sites Bloqueados' '' \
'Pesquisar Palavra' '' \
'Bloquear Máquina' '' \
'Liberar Máquina' '' \
'Listar Máquinas Bloqueadas' '' \
'Reinicia o Servidor' '' \
'Desliga o Servidor' '' \
'Monitoramento do Link' '' \
'Monitorar Conecções' '' \
'Atualizar Servidor Proxy' '' \
        'Restaurar Config Inicial'      ''                              \
'Sair' ''
         )

[ $? -ne 0 ] && break            

 case "$menu" in
 'Bloquear Site')
endereco=$(dialog --stdout \
--title 'BLOQUEIO DE SITES' \
--inputbox 'Você deseja bloquear um endereço. Digite o endereço completo ou apenas a palavra chave. Ex: sexo, playboy, etc.. A palavra não deve conter espaços.' 11 50
  )

   endereco=$endereco

   if cat /usr/local/squid/etc/sites_proibidos.txt|grep "$endereco" 1>/dev/null 2>/dev/null

   then
    dialog --msgbox "A Palavra $endereco Já Existe no Banco de Dados como Bloqueada." 8 45

   else
    cat /usr/local/squid/etc/sites_proibidos.txt > $sites_proibidos.tmp
    echo "$endereco" > /usr/local/squid/etc/sites_proibidos.txt
    cat $sites_proibidos.tmp >> /usr/local/squid/etc/sites_proibidos.txt

        dialog \
--cr-wrap \
        --sleep 3       \
--backtitle 'Sistema de Gerencia de Informações da CYBERNET LAN HOUSE'   \
--title 'AVISO' \
        --infobox "O Endereço Bloqueado foi:
  $endereco

  Fechando a tela......
 " 0 0
  fi
;;

 'Liberar Site')
        endereco=$(dialog --stdout             \
        --title 'BLOQUEIO DE SITES' \
--inputbox 'Para Liberar um endereço, é necessário que o endereço completo ou a palavra chave esteja correto:' 10 50
  )

   endereco=$endereco

if [ $? -eq 1 ]; then
ls
else

   if cat /usr/local/squid/etc/sites_proibidos.txt|grep "$endereco" 1>/dev/null 2>/dev/null
   then
     grep -va "$endereco" /usr/local/squid/etc/sites_proibidos.txt > $sites_proibidos.tmp
     mv $sites_proibidos.tmp /usr/local/squid/etc/sites_proibidos.txt
     dialog --msgbox "A Palavra $endereco Foi Desbloqueada com Sucesso da Base de Dados." 8 45

# grep -v vai remover toda a linha que contenha um pedaço da palavra chave.
# grep -va remove apenas o treicho da palavra chave em questão.

   else
dialog --msgbox "A Palavra $endereco Não encontra-se Bloqueado na Base de Dados." 8 45

   fi
fi
               ;;

'Pesquisar Palavra')
        palavra=$(dialog --stdout             \
        --title 'PESQUISA DE PALAVRAS CHAVE' \
        --inputbox 'Digite a Palavra que Deseja Pesquisar na Base de Dados:' 8 50
                   )
palavra=$palavra

   grep "$palavra" /usr/local/squid/etc/sites_proibidos.txt > out &
   dialog --backtitle 'Sistema de Gerencia de Informações da CYBERNET LAN HOUSE' \
 --title 'LISTAGEM DE PALAVRAS SEMELHANTES'\
          --textbox out 0 0

  ;;

 'Listar Sites Bloqueados')
   cat /usr/local/squid/etc/sites_proibidos.txt > out &
   dialog --title 'LISTAGEM DE ENDEREÇOS BLOQUEADOS'\
          --textbox out 0 0
 ;;

 'Monitorar Conecções')

ps axf | grep awk
if [ "$?" != 0 ]; then
  tail -f /usr/local/squid/var/logs/access.log | awk '{print$3""$8""$7}' >> saida &
teste=1

if [ "$teste" = 1 ]; then
         dialog        \
        --infobox "Localizando Estações e Montando o Monitoramento" 0 0  \
        --title 'Monitorando de Acesso a Sites'  \
        --tailbox saida            \
        0 0
fi
 else
   dialog                                         \
     --title 'Monitorando de Acesso a Sites'  \
     --tailbox saida            \
     0 0
fi

     ;;

 'Monitoramento do Link')
  iptraf
;;

 'Atualizar Servidor Proxy')
  squid -k reconfigure
;;

 'Restaurar Config Inicial')
 /etc/rc.d/restaura
;;

 'Sair')
 exit

;;


 esac


done

Nenhum comentário:

Postar um comentário