[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
saida de funções
From: |
Marcos Braga |
Subject: |
saida de funções |
Date: |
Tue, 17 Jan 2006 19:51:40 -0400 |
User-agent: |
Mozilla Thunderbird 1.0.7 (Windows/20050923) |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Pessoal, eis um problema pelo qual não havia passado.
após muito batalhar, resolvi consultar ajuda, pois não encontrei nada
parecido.
criei o seguinte script para atualizar regras de um servidor squid, com
várias funções, todas funcionando perfeitamente.
o problema é que estou direcionando toda saída das funções para um
arquivo texto (para enviar um mail de retorno), mas não vai..., recebo
um mail vazio. o arquivo texto não recebe nada e tudo aparece no stdout.
alguém sabe o que posso estar fazendo de errado????
encaminho o script para análise (ele funciona perfeitamente).
qualquer dúvida, podem mandar..
abraços,
marcos braga
- ----- inicio do script -----
#!/bin/bash
#versao: 2006011722
# importanto o envio de mails
. /usr/local/bin/mail.sh
script=atualiza
versao=versao.txt
mensagem=/tmp/$script$$.msg
# dados para enviar e-mail
remetente=address@hidden
destinatario=address@hidden
assunto="$(hostname -s): $script"
#--dados do servidor ftp
quem=usuario
como=senha
onde=servidor_ftp
temp=/tmp/remoto
mkdir -p $temp
home=/etc/squid/regras
arquivos="ipsliberados sitespermitidos"
pegaArquivo() {
arquivo=${1}
wget ftp://$quem:$como@$onde/$arquivo
}
atualizaVersao() {
arquivo=${1}
mv -v --reply=yes $arquivo $home/$arquivo
}
comparaVersao() {
arquivo=${1}
versaoatual=`grep versao $home/$arquivo | awk '{print $2}'`
versaonova=`grep $arquivo $versao | awk '{print $3}'`
if [ $versaoatual -lt $versaonova ]; then
pegaArquivo $arquivo
atualizaVersao $arquivo
fi
}
#--aqui está o meu problema, toda saída
# não vai para o arquivo $mensagem e sim
# para o stdout
#--
# atualizando...
cd $temp
pegaArquivo $versao >$mensagem
for arq in $arquivos; do
comparaVersao $arq >>$mensagem
done
squid -k reconfigure >>$mensagem
# finalizando
anexo=`cat $mensagem` && rm -f $mensagem
enviaMail
rm -rf $temp >/dev/null 2>/dev/null
- ----- fim do script -----
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (MingW32)
iD8DBQFDzYMM+0NSOfDHfxkRAkSpAJ9qaY5PpIC8jkdhVgOAOFUFlVs+XACg9CHN
Lz3GUCfWm2Ir6kKndM+UD0E=
=tXf+
-----END PGP SIGNATURE-----
Re: [shell-script] Separar pacote - versao de uma lista, Mauricio, 2006/01/11