E ai cara, blz? O problema está aqui: --menu "\nSelecione a opcao:" 18 65 20
troque o 20 para um número entre 1 e 15. Esse número equivalente a quantidade de linha no menu que pode aparece de uma só vez na tela. Colocando por exemplo 15 poderá aparece até 15 linhas que poderá ser visto de uma só vez. É isso até mais precisando estamos ai. Um abraço. Edmar de Souza Prado --- Em [email protected], Leonardo Bites <leonardo.bi...@...> escreveu > > 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 > ${usuar...@${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] >
