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

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]