Comando cat + envio email

editado April de 2011 em Programação e Scripts
Olá, peço auxílio quanto ao comportamento e resultado da seguinte situação:

Quando executo via terminal o comando "$cat log_* | mail -s 'Logs' [email protected]" todo o resultado de cat é enviado por email sem problemas. Mas quando coloco esta entrada no cron, recebo um email com o conteúdo "Type: application/octet-stream
Name: attwwwww.tar"

Por que isso acontece? Veja no anexo a imagem do email que recebo.

Os conteúdos são apenas textos lidos por cat e encaminhados via ssmtp a um servidor smtp externo.

Comentários

  • arleiarlei Arlei
    editado April de 2011
    Olá acmlima.

    Pelo que observo, ao chamar o comando diretamente no shell ou terminal, você deve estar no diretório onde se encontra esses arquivos de LOG e portanto funcionando perfeitamente.

    Mais ao chamar o comando pela Crontab, parece que os arquivos não estão sendo localizados pois falta no comando indicar a localização dos mesmos.

    Exemplo:

    cat /local/log_* | mail -s 'Logs' [email protected]

    Acredito que seja isso, mais confira nos LOGs da Crontab pois deve aparecer esse erro, tipo "file not found".

    Uma opção interessante é redirecionar o STATUS da linha da Crontab para algum arquivo de LOG para você ver ou receber por e-mail e perceber o que esta ocorrendo.

    De uma olhada no manual da Crontab para maiores detalhes:

    man crontab

    Outra coisa é fazer um script com os comandos e chamar o mesmo na Crontab, até por causa daquela questão do interpretador lembra? sh x bash!

    T+
    Arlei
Entre ou Registre-se para fazer um comentário.