Mais um detalhe:

eis minha linha do cron:

27 19 * * *  /bin/bash /usr/local/bin/pntmysqlloader.sh >>
/var/log/planetun.log 2>&1

e executando o script na "mão", roda que é uma beleza

msp01:/home/vinicius # /usr/local/bin/pntmysqlloader.sh

[]s

Vinny


Marcus Vinicius P Coimbra wrote:
> Meus amigos,
>
> Desculpem pelo OT, mas alguém poderia me ajudar a descobrir por quê
> meu shell não esta executando "partes" dele através do cron? Dei uma
> olhada no histórico, mas nada me ajudou a solucionar o problema....
>
> O script é executado até o primeiro laço "for", depois disso pára
> executando somente até o primeiro "truncate" no mysql.... :(
>
> Olho só minha log:
>
> +========================================+
> Iniciando carga de pecas de fornecedores
> Data: Mon May 22 19:25:01 2006
> +========================================+
>
> Iniciando a carga...aguarde...
> Inicio: Mon May 22 19:25:01 2006
>
> movendo arquivo 003200605011.csv para processados
>
> cd carga
> truncate do mysql
> Termino: Mon May 22 19:25:15 2006
>
> Não sei mais o que mudar.....alguém pode me ajudar?
>
> []s
>
> Vinny
>
> SCRIPT:
>
>
> #!/bin/bash
> #
> # Programa de carga de pecas das montadoras
> # Marcus Vinicius <[EMAIL PROTECTED]>
> # Data: 2006-01-11 16:10
> #
> #
> # OBSERVACOES:
> # 1) Layout dos arquivos (arquivos posicionais):
> #   
> #    POSICAO CAMPO
> #       1-25 partnumber (codigopeca)
> #      26-60 descricao (descricao)
> #      61-61 tipopeca (genuina=1 ; original=2 ; generica=3)
> #      62-64 montadora (codigo da montadora)
> #      65-76 valor (precobruto para tipopeca=(1); precoliquido para
> tipopeca=(2,3)
> #      77-79 grupo de desconto (letras ou numeros de desconto)
> #
> # 2) Durante a carga, ignorar [::SPACE::] e [/] gerando um codigo
> #    conforme conversa telefonica com Henrique em 2005-01-11 as 16:30
> #
> # Programas
> MYSQL=/usr/bin/mysql
> CAT=/bin/cat
> DOS2UNIX=/usr/bin/dos2unix
> SED=/bin/sed
> CUT=/usr/bin/cut
> PASTE=/usr/bin/paste
> AWK=/usr/bin/awk
> LYNX=/usr/bin/lynx
> WC=/usr/bin/wc
> MV=/bin/mv
> RM=/bin/rm
> LS=/bin/ls
> #
> echo -e "+========================================+"
> echo -e "Iniciando carga de pecas de fornecedores"
> echo -e "Data: `date +%c`"
> echo -e "+========================================+"
> echo -e ""
> echo -e "Iniciando a carga...aguarde..."
> echo -e "Inicio: `date +%c`"
> cd /mspsites/planetun/www/carga/
> echo -e "cd carga"
> $MYSQL -uplanetun -pxxxxxxxxxx -e "truncate table importapeca ;" pntprd1
> echo -e "truncate do mysql"
> for i in $($LS -l /mspsites/planetun/www/carga/ | $AWK -F" " '{ print
> $8 }' | egrep "(\.csv|\.txt|\.CSV|\.TXT)")
> do
> echo -e "entrou no for"
>    fornecedor=`echo $i | $CUT -c 1-3 | $SED 's/^0*//;'` ;
>    fornec_cod=`echo $i | $CUT -c 1-3` ;
>    arqui_ext=`echo $i | $CUT -c 14-16` ;
>    arquivo=`echo $i | $CUT -d"." -f1`;
>    registros=`$WC -l < $i`;
>    j=FILE01.tmp ;
>    k=FILE02.tmp ;
>    $MYSQL -uplanetun -pxxxxxxxxxx -e \
>    "SELECT codigoempresa, montadora, genuina, original, generica,
> nomefantasia
>       FROM sucursais
>      WHERE codigoempresa = $fornecedor
>      AND fornecedor = 1 ;" pntprd1 > /tmp/resultado.tmp
>   
>    
>    IFS="$(echo -e '\t')"
>   
>    S=$($CAT /tmp/resultado.tmp | $SED '1d')

>    [ "$S" ] || {
>       echo " ";
>       echo "Registro nao encontrado";
>       echo "Fornecedor $fornec_cod nao cadastrado!!!";
>       echo "Gravando log de erro.....";
>       $MYSQL -uplanetun -pxxxxxxxxxx -e \
>       "INSERT INTO errosimportacao (
>                    codigoempresa,
>                dataerro,
>            mensagem
>            )
>             VALUES (
>                $fornecedor,
>            now(),
>            'Fornecedor $fornec_cod nao cadastrado. Arquivo $i nao
> processado!!!'
>            )" pntprd1
>       echo " ";
>       exit;
>       }
>   
>    echo "$S" | while read codigoempresa montadora genuina original
> generica nomefantasia ; do
>   
>    echo "
>    Arquivo......: $i ($arqui_ext)
>    No. registros: $registros
>    Fornecedor...: $fornec_cod - $nomefantasia
>    codigoempresa: $codigoempresa
>    montadora....: $montadora
>    genuina......: $genuina
>    original.....: $original
>    generica.....: $generica"
>    $DOS2UNIX /mspsites/planetun/www/carga/$i  
>    $CAT /mspsites/planetun/www/carga/$i | $SED '/^$/d ; /^ \{35\}/d' >
> /tmp/$j
>    $MYSQL -uplanetun -pxxxxxxxxxx -e "truncate table importapeca ;"
> pntprd1
>    $MV /mspsites/planetun/www/carga/$i
> /mspsites/planetun/www/carga/processados/$i
>    if [ "$arqui_ext" = "txt" -o "$arqui_ext" = "TXT" ]
>       then
>       if [ "$genuina" -eq "1" ]
>          then
>          #  cat $i | cut -c 1-25 | sed 's/^ *//;s/ *$//' >
> partnumber.tmp ;
>          $CAT /tmp/$j | $CUT -c 1-25 | $SED 's#/##g ; s/ //g;' >
> /tmp/partnumber.tmp ;
>          $CAT /tmp/$j | $CUT -c 26-60 | $SED 's/ *$//' >
> /tmp/descricao.tmp ;
>          $CAT /tmp/$j | $CUT -c 61-61 > /tmp/tipo.tmp ;
>          $CAT /tmp/$j | $CUT -c 62-64 > /tmp/montadora.tmp ;
>          $CAT /tmp/$j | $CUT -c 65-76 > /tmp/valor.tmp ;
>          $CAT /tmp/$j | $CUT -c 77-79 | $SED 's/ //g;' > /tmp/grupo.tmp ;
>          $PASTE /tmp/partnumber.tmp /tmp/descricao.tmp /tmp/tipo.tmp
> /tmp/montadora.tmp /tmp/valor.tmp /tmp/grupo.tmp > /tmp/$j
>          $CAT /tmp/$j | $AWK -F"\t" '{ print
> $4";"$3";"$1";"0";"$2";"$1";"$1";"$5";"0";"$6 }' > /tmp/$arquivo.tmp
>      while read linha ; do echo "$fornec_cod;$linha" >> /tmp/tmp ;
> done < /tmp/$arquivo.tmp ; $MV /tmp/tmp /tmp/$arquivo.pnt
>          $MYSQL -uplanetun -pxxxxxxxxxx -e "LOAD DATA INFILE
> '/tmp/$arquivo.pnt' IGNORE INTO TABLE importapeca FIELDS TERMINATED BY
> ';' ENCLOSED BY '\"' LINES TERMINATED BY '\n' (codigofornecedor,
> montadora, tipopeca, partnumber, fabricante, descricao,
> codpecadofornec, codpecadofabric, precobruto, precoliquido,
> grupodesconto)" pntprd1
> #     else
> #        exit;
>       fi
>    fi
>    if [ "$arqui_ext" = "csv" -o "$arqui_ext" = "CSV" ]
>       then
>       if [ "$genuina" -eq "1" ]
>          then
>          $CAT /tmp/$j | $AWK -F";" '{ print
> $4";"$3";"$1";"0";"$2";"$1";"$1";"$5";"0";"$6 }' > /tmp/$k
>      while read linha ; do echo "$fornec_cod;$linha" >> /tmp/tmp ;
> done < /tmp/$k ; $MV /tmp/tmp /tmp/$arquivo.pnt
>          $MYSQL -uplanetun -pxxxxxxxxxx -e "LOAD DATA INFILE
> '/tmp/$arquivo.pnt' IGNORE INTO TABLE importapeca FIELDS TERMINATED BY
> ';' ENCLOSED BY '\"' LINES TERMINATED BY '\n' (codigofornecedor,
> montadora, tipopeca, partnumber, fabricante, descricao,
> codpecadofornec, codpecadofabric, precobruto, precoliquido,
> grupodesconto)" pntprd1
> #     else
> #        exit;
>       fi
>    fi
>    $RM /tmp/*.tmp /tmp/*.pnt
>    $LYNX -dump http://www.planetun.com.br/importacatalogos_processa.cfm
>    wait $!
>    done
> done
> echo -e "Termino: `date +%c`"
>



[As partes desta mensagem que não continham texto foram removidas]



---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio aviso.
---------------------------------------------------------------------
Sair da lista: [EMAIL PROTECTED]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil




Yahoo! Grupos, um serviço oferecido por:
PUBLICIDADE


Links do Yahoo! Grupos

Responder a