shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Como desativar a tecla "esc"


From: Leonardo Bites
Subject: Como desativar a tecla "esc"
Date: Tue, 4 Aug 2009 16:31:51 -0300

Galera estou apanhando pra impedir que a tecla esc feche o meu script já
tentei como podem ver no codigo tratar o $? =255 mas não funcionou. Alguém
sabe como faço pra desativar essa tecla no dialog.
Segue o meu script


#!/bin/bash
# Autores: Leonardo Bites e Tiago Mingone
# Script de Automacao do processo de captura de Logs do multicanal
# Data: 06/02/2009
#
#Modificacoes
#
#Vers‹o 1 - AtualizaŤ‹o para pegar Logs via Rede (SSH)
#Vers‹o 2 - CorreŤ‹o na funŤ‹o Salva Log para funcionar com as Vers›es Etch
e Sarge do Debian e na FunŤ‹o DataLog para corrigir o problema de
duplicidades na captura
#Vers‹o 3 - SeparaŤ‹o da captura do Banco de dados e o log da AplicaŤ‹o e
modificacao da nomeclatura dos arquivos para o padrao indicado pela REDEASP.
#Vers‹o 4 - AlteraŤ‹o para maquinas 4534 e resoluŤ‹o de bug na coleta do
prolog
#Vers‹o 5 - Adiciona Informacoes do equipamento
#Vers‹o 6 - Modifica dados do equipamento
#Vers‹o 7 - Trava saida para prompt (saida somente com senha), finaliza e
derruba sessao


export SHELL=/bin/bash
arq_informacoes="/home/suporte/informacoes.txt"

#DeclaraŤ‹o de FunŤ›es





function SelecionaLog() {
    SELECIONALOG=$(dialog --backtitle "Caixa Economica Federal" \
--title "coleta de logs Multicanal" \
--stdout \
--nocancel \
--menu "\nSelecione a opcao:" 18 65 9 \
1 "Coleta logs do SIMMA (Extracash.log)" \
2 "Coleta Banco de dados da Aplicacao" \
3 "Coleta logs dos drivers da Perto" \
4 "Coleta logs dos driver Procomp" \
5 "Coleta logs do sistema de atualizacao de pacotes"\
6 "Informacoes do equipamento"\
7 "Alterar dados do equipamento"\
8 "Sair para prompt de comando"\
9 "Finalizar coleta de log")
}



function TipoLog() {
TIPO=$(dialog --backtitle "Caixa Economica Federal" \
--title "coleta de logs Multicanal" \
--no-cancel \
--stdout \
--menu "\nSelecione o tipo de Log que deseja capturar:" 18 65 2 \
1 "Log completo" \
2 "Log por data")
}

function TestaTipo(){
if [ "$TIPO" == "1" ]; then
DiretorioLog
else
   DataLog
fi
}

function DataLog() {
 #export LANG=pt_br
 DATA=$(ls -l -q ${DIRETORIO}${ARQUIVOS} --sort=time |grep -v ^d |awk
'{print $6}'|uniq)
echo $DATA|tr " " "\12" > /home/suporte/DATA
 whiptail --title \
"Selecione as datas para coleta de LOG" \
--checklist "\nDatas disponiveis:" 0 60 $(cat /home/suporte/DATA|wc -l)
$(cat /home/suporte/DATA|while read d; do echo "$d" "." "off"; done)
2>/home/suporte/data ;
 DATA_SEL=$(cat /home/suporte/data)
rm /home/suporte/data
echo ${DATA_SEL//\"} >/home/suporte/data

}

function DiretorioLog() {
 case ${SELECIONALOG} in
1)
DIRETORIO=/opt/foton/log/
ARQUIVOS="*"
;;
2)
DIRETORIO=/opt/foton/db/
ARQUIVOS="*"
;;
3)
DIRETORIO=/opt/perto/log/
ARQUIVOS="*"
;;
4)
DIRETORIO=/opt/DieboldProcomp/JXFS/DieboldProcompJXFS/Logs/
ARQUIVOS="*"
 MODELO=$(cat /root/modelo_procomp)
 if [ '${MODELO}' = '5' ]; then
   AMI=/opt/DieboldProcomp/AMI/AMITrace*
fi
 if [ -e "/tmp/prolog.log" ]; then
   TMP="/tmp/prolog.log"
else
   TMP="/tmp/prolog/prolog*"
fi

        if [ -e "/tmp/prolog/" ]; then

        TMP=${TMP}

        else

         if [ -e "/var/prolog.log" ]; then
     TMP="/var/prolog.log"
else
     TMP="/var/prolog/prolog*"
fi
fi
;;
5)
DIRETORIO=/var/log/
ARQUIVOS="*_atm.log"
;;

*)
;;
esac

}


function SalvaLog() {

  TTY=$(tty |cut -d "/" -f 3,4)

  IP=$(who |grep ${TTY} |awk '{print $6}' |tr -d "( )")

  if [ -z $IP ]; then
  IP=$(who |grep ${TTY} |awk '{print $5}' |tr -d "( )")
  fi

  USUARIO=$(dialog --stdout --inputbox "Entre com o nome do usuario da
maquina de acesso " 0 0 )

  clear
  tput cup 10
  echo -e "\n Aguarde solicitacao da senha "

  scp  /home/suporte/${NOMELOG}_`date +%d%m%y`.tar.gz
${USUARIO}@${IP}:/home/${USUARIO}
&& dialog --stdout --msgbox  "Arquivo de Log enviado para a pasta
/home/${USUARIO} da maquina ${IP}." 20 60 ||  dialog --stdout --msgbox
 "Arquivo de Log nao pode ser transferido verifique as permissoes da pasta
/home/${USUARIO} da maquina ${IP}." 20 60

  ApagaTudo
  SelecionaLog



  #PID=$(ps aux |grep $USER@$TTY |head -n 1 |awk '{print $2}')
  #kill ${PID}

}

function NomeLog(){

  eval NOMELOG=${LOG}"_"${NUM_TERMINAL} ; echo $NOMELOG

}

function CompactarLog() {


if [ "$TIPO" = "1" ]; then

if [ "${SELECIONALOG}" == "1" ]; then
cd ${DIRETORIO}
tar -cvzf /home/suporte/${NOMELOG}_`date +%d%m%y`.tar.gz ${DIRETORIO} ${TMP}
${AMI} ${arq_informacoes}
 else
cd ${DIRETORIO}
tar -cvzf /home/suporte/${NOMELOG}_`date +%d%m%y`.tar.gz
${DIRETORIO}${ARQUIVOS} ${TMP} ${AMI} ${arq_informacoes}

 fi
else
 if [ "${SELECIONALOG}" == "1" ]; then
for i in `cat /home/suporte/data`; do ls -l -N ${DIRETORIO}|awk '{print $6"
"$8}'|grep $i |cut -d " " -f2; done > /home/suporte/arquivo.logs
cd ${DIRETORIO}
tar -cvzf /home/suporte/${NOMELOG}_`date +%d%m%y`.tar.gz
--files-from=/home/suporte/arquivo.logs ${TMP} ${AMI} ${arq_informacoes}
rm /home/suporte/arquivo.logs
 else
for i in `cat /home/suporte/data`; do ls -l -N ${DIRETORIO}${ARQUIVOS}|awk
'{print $6" "$8}'|grep $i |cut -d " " -f2; done > /home/suporte/arquivo.logs
cd ${DIRETORIO}
tar -cvzf /home/suporte/${NOMELOG}_`date +%d%m%y`.tar.gz
--files-from=/home/suporte/arquivo.logs ${TMP} ${AMI} ${arq_informacoes}
rm /home/suporte/arquivo.logs
fi
fi

}

function ApagaTudo(){

  rm -f /home/suporte/data
  rm -f /home/suporte/DATA
  rm -f /home/suporte/arquivo.logs
  rm -f /home/suporte/*.tar.gz
  rm -f /home/suporte/consulta.sql
  rm -f /home/suporte/informacoes.txt

}

function SairPrompt(){
senha=$(dialog --stdout --title "Caixa Economica Federal" --insecure
--passwordbox "entre com a senha: " 10 50)


senha_md5=$(echo -n "${senha}" | md5sum |tr -d " ")

if [ "${senha_md5}" = "0f359740bd1cda994f8b55330c86d845-" ]; then

    break
    sair="1"

else

    dialog  --title 'Senha Incoreta !' --msgbox 'A senha esta incoreta tente
novamente.'  10 50

fi
}

#Excucao do programa
echo "interacao"
source Informacao_maquina.sh

trap "" 2

SelecionaLog
if [ "$?" != "0" ] && [ "$?" != "255" ];then

sair="1"

fi

echo "select pmtval from pmt where pmtcod = '65';"
>/home/suporte/consulta.sql

export NUM_TERMINAL=$(/opt/firebird/bin/isql
localhost/3050:/opt/foton/db/EXTRACASH.GDB -u sysdba -p caixa -s 1
-noautocommit -i consulta.sql | tail -2 | head -1 | cut -f1 -d" ")

while [ "${sair}" != "1" ];do
case ${SELECIONALOG} in

 1)
export LOG="extracash"
DiretorioLog
TipoLog
TestaTipo
NomeLog
CompactarLog
SalvaLog
;;
 2)
export LOG="firebird"
DiretorioLog
TIPO="1"
TestaTipo
NomeLog
CompactarLog
SalvaLog
;;
3)
export LOG="perto"
DiretorioLog
TipoLog
TestaTipo
NomeLog
CompactarLog
SalvaLog
;;
4)
export LOG="procomp"
DiretorioLog
TipoLog
TestaTipo
NomeLog
CompactarLog
SalvaLog
;;
5)
export LOG="atualizacao"
DiretorioLog
TipoLog
TestaTipo
NomeLog
CompactarLog
SalvaLog
;;
6)
    whiptail --title "Informacoes do Equipamento" --msgbox "$(cat
${arq_informacoes})" 0 60
    SelecionaLog
    ;;
 7)
    ./AlteraDados.sh
    SelecionaLog
    ;;
 8)
        SairPrompt
        SelecionaLog
        ;;

    9)
    ApagaTudo
    kill -HUP `pgrep -s 0 -o`
    #sair="1"
;;

*)
;;
esac
done


-- 
-- 
Leonardo Bites

Linux Registered user #449087
___________________________

"Open Source for Open Minds"

"Pensamentos tornam-se ações,

ações tornam-se hábitos,

hábitos tornam-se caráter,

e nosso caráter torna-se nosso destino".


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]