[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]
- Erro no dialog,
Leonardo Bites <=