Comando cat + envio email
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.
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.
Entre ou Registre-se para fazer um comentário.
Comentários
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