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

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

Erro no dialog


From: Leonardo Bites
Subject: Erro no dialog
Date: Fri, 6 Feb 2009 17:35:00 -0200

Oi gente boa tarde,

estou fazendo um scrip para copiar  logs remotamente e estou tendo um
problema que nunca tinha visto com o dialog.

Alguem já viu esse erro ( Can't make sub-window ) , sabe do que se trata ??

segue o script.

#!/bin/bash
# Autores: Leonardo Bites e Tiago Mingone
# Script de Automacao do processo de captura de Logs
# Data: 06/02/2009

export SHELL=/bin/bash


#Declaração de Funções


function SelecionaLog() {

    SELECIONALOG=$(dialog  --title "coleta de logs Multicanal" \
    --stdout    \
    --menu "\nSelecione a opcao:" 18 65 20    \
    1 "Coleta logs do SIMMA (Extracash.log)"    \
    2 "Coleta logs dos drivers da Perto"    \
    3 "Coleta logs dos driver Procomp"    \
    4 "Coleta logs do sistema de atualizacao de pacotes"\
    5 "Finalizar coleta de log")

}

function TipoLog() {

    TIPO=$(dialog    --title "coleta de logs Multicanal" \
    --no-cancel \
    --stdout    \
    --menu "\nSelecione o tipo de Log que deseja capturar:" 18 65 20    \
    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 $7"_"$6}'|uniq)
    echo $DATA|tr " " "\12" > /home/suporte/DATA


    data=$(dialog --stdout --title \
    "Selecione as datas para coleta de LOG" \
    --no-cancel \
    --checklist "\nDatas disponiveis:" 16 60 $(cat /home/suporte/DATA|wc -l)
$(cat /home/suporte/DATA|while read d; do echo "$d" "." "off"; done));

     echo $data |tr "/" " " > /home/suporte/data
}

function DiretorioLog() {

    case ${SELECIONALOG} in
    1)
        DIRETORIO=/opt/foton/log/
        BANCO=/opt/foton/db/
        ARQUIVOS="*"
    ;;
    2)
        DIRETORIO=/opt/perto/log/
        ARQUIVOS="*"
    ;;
    3)
        DIRETORIO=/opt/DieboldProcomp/JXFS/DieboldProcompJXFS/Logs/
        ARQUIVOS="*"

        if [ -e "/tmp/prolog.log" ]; then
           TMP="/tmp/prolog.log"
        else
           TMP="/tmp/prolog/prolog*"
        fi

        if [ -e "/var/prolog.log" ]; then
            TMP="/var/prolog.log"
        else
            TMP="/var/prolog/prolog*"
        fi
    ;;
    4)
        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 "( )")

  echo -e "\n Entre com o nome do usuario da maquina de acesso "
  read USUARIO

  echo -e "\n entre com a senha da maquina de acesso. "

  scp  /home/suporte/${NOMELOG}_`date +%d%m%y`.tar.gz
${USUARIO}@${IP}:/home/${USUARIO}
| echo " Salvando Arquivo de Log por favor aguarde ... "

  echo -e  "Arquivo de Log enviado para a pasta /home/${USUARIO} da maquina
${IP}."

  SelecionaLog
  rm -f /home/suporte/data
  rm -f /home/suporte/arquivo.logs

}

function NomeLog(){
  NOMELOG=$(dialog --stdout --title "${titulo}" --no-cancel --inputbox
"Digite um nome para o arquivo de Log" 0 0) ; 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} ${BANCO} | echo "Compactando arquivos ..."
    else
        cd ${DIRETORIO}
        tar -cvzf /home/suporte/${NOMELOG}_`date +%d%m%y`.tar.gz
${DIRETORIO}${ARQUIVOS} ${TMP}| zenity --progress --pulsate --auto-close
--text="Compactando arquivos ..."
    fi

else

    if [ "${SELECIONALOG}" == "1" ]; then
        for i in `cat /home/suporte/data`; do ls -l -N ${DIRETORIO}|awk
'{print $7"_"$6" "$9}'|grep $i |cut -d " " -f2; done >
/home/suporte/arquivo.logs
        cd ${DIRETORIO}
        tar -cvzf ${NOMELOG}_`date +%d%m%y`.tar.gz
--files-from=/home/suporte/arquivo.logs ${BANCO}*| zenity --progress
--pulsate --auto-close --text="Compactando arquivos ..."
        rm /home/suporte/arquivo.logs

    else
        for i in `cat /home/suporte/data`; do ls -l -N
${DIRETORIO}${ARQUIVOS}|awk '{print $7"_"$6" "$9}'|grep $i |cut -d " " -f2;
done > /home/suporte/arquivo.logs
        cd ${DIRETORIO}
        tar -cvzf ${NOMELOG}_`date +%d%m%y`.tar.gz
--files-from=/home/suporte/arquivo.logs ${TMP}| zenity --progress --pulsate
--auto-close --text="Compactando arquivos ..."
        rm /home/suporte/arquivo.logs
    fi
fi

}



#Excução do programa

SelecionaLog
if [ $? != 0 ]
then
    sair="1"
fi

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

        DiretorioLog
        TipoLog
        TestaTipo
        NomeLog
        CompactarLog
        SalvaLog
        ;;
    2)

        DiretorioLog
        TipoLog
        TestaTipo
        NomeLog
        CompactarLog
        SalvaLog
        ;;
    3)

        DiretorioLog
        TipoLog
        TestaTipo
        NomeLog
        CompactarLog
        SalvaLog
        ;;
    4)

        DiretorioLog
        TipoLog
        TestaTipo
        NomeLog
        CompactarLog
        SalvaLog
        ;;
    5)
        sair="1"


        ;;
    *)
        ;;
esac
done

desde já agradeço.


-- 
-- 
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]