[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
debug
From: |
Eric Anderson |
Subject: |
debug |
Date: |
Thu, 28 Dec 2006 15:35:03 -0200 |
oes,
fiz um script para automatizar o recebimento de uns anexos, se eu rodo ele
direto no prompt:
root@viamail:/home/groo# sh /usr/local/sbin/ediunidocks.sh
ele funciona direito: busca os emails, extrai o anexo, "desencoda" ele e manda
por scp.
no crontab, ele busca, mas grava um arquivo vazio.
meu problema é que nao consigo debugar pra ver o que está errado. tentei até
colocar "sh -x script.sh > log.txt" no cron mas a saída não vem "debugada".
Aceito dicas para tentar achar o problema.
Um abraço
Eric
segue o script POG (ai que vergonha):
#!/bin/sh
# ------------------------------------------------------------
# Script para automatizar o recebimento do anexo da Unidocks
# By groo
# address@hidden
# 23/06/2006
# ------------------------------------------------------------
function edi() {
DIRS=( cur new )
case $1 in
'UNIDOCKS')
SUBJECT="Subject:\ Unidock"
SAIDA="/tmp/unidocks"
REMOTO="/dados/EDI/Importacao/Unidocks"
START="Content-Disposition:"
;;
'PANA')
SUBJECT="From:\ gko\@br.panasonic.com"
SAIDA="/tmp/panasonic"
REMOTO="/dados/EDI/Importacao/Panasonic"
START="Content-Transfer-Encoding: base64"
;;
esac
for z in ${DIRS[@]}; do
CAMINHO="/var/vpopmail/domains/vianet-express.com.br/2/edi/Maildir/$z/"
cd $CAMINHO
for i in `ls *`; do
if grep "$SUBJECT" $i;then
NOME=`grep "attachment\;" $i | cut -d "\"" -f2`
COMECO=`grep -n "$START" $i | cut -d ":" -f1`
FIM=``
COMECO=`expr $COMECO + 2`
echo $NOME
fromdos < $i | cat | sed -n "$COMECO,$"p $i | sed -e
/NextPart/d | sed -e /^$/d | todos > $SAIDA/$NOME
if [ $1 == "PANA" ];then
base64 -d $SAIDA/$NOME > /tmp/tmp.txt
cat /tmp/tmp.txt > $SAIDA/$NOME
fi
scp $SAIDA/$NOME eric@192.168.1.6:$REMOTO
if [ $? == 0 ]; then
mv $SAIDA/$NOME $SAIDA/backup
mv $i $SAIDA/backup/mail
fi
echo `date` - email: $i - arquivo: $NOME - | tee -a
/var/log/ediunidocks.log
# echo $NOME
# echo $COMECO
else
# mv $i $SAIDA/backup/mail/${i}NAOEDI
echo `date` - $i - "Email nao EDI" - | tee -a
/var/log/ediunidocks.log
fi
done
done
}
edi UNIDOCKS
edi PANA
[As partes desta mensagem que não continham texto foram removidas]
- Grep, André Figueiredo, 2006/12/28