Script não funcionado corretamente no CRON

49. Re: Script não funcionado corretamente no CRON

William Amaral de Souza
Williamm

(usa Linux Mint)

Enviado em 27/11/2013 - 10:13h

danielviolin escreveu:

think linux escreveu:

Humm, então agora o problema acho que é aqui.

echo `cat $log` | mail -s "LOG dos Arquivos Excluidos do IFT (Internet File Transfer) ROMI " sistema@dominio.com


se usar só

echo "$log" | mail -s "LOG dos Arquivos Excluidos do IFT (Internet File Transfer) ROMI " sistema@dominio.com


Sera que vai?


Se eu coloco dessa forma que você falou, eu recebo o e-mail, vem com conteúdo no corpo, mas não vem com o conteúdo do arquivo, mostra o caminho do arquivo, olha como fica:
http://www.4shared.com/photo/3LnRfUAJ/email_erro2.html



E assim o que faz?

echo "${log}" | mail -s "LOG dos Arquivos Excluidos do IFT (Internet File Transfer) ROMI " sistema@dominio.com



  


50. Re: Script não funcionado corretamente no CRON

William Amaral de Souza
Williamm

(usa Linux Mint)

Enviado em 27/11/2013 - 14:20h

... Se caso não funcionar como o eabreu descreveu....
Tenta assim no final do script, é uma "gambi" mas acho que funciona...

teste=`cat $log`
echo "${teste}" | mail -s "LOG dos Arquivos Excluidos do IFT (Internet File Transfer) ROMI " sistema@dominio.com



51. Re: Script não funcionado corretamente no CRON

Daniel
danielviolin

(usa Red Hat)

Enviado em 28/11/2013 - 07:34h

think linux escreveu:

... Se caso não funcionar como o eabreu descreveu....
Tenta assim no final do script, é uma "gambi" mas acho que funciona...

teste=`cat $log`
echo "${teste}" | mail -s "LOG dos Arquivos Excluidos do IFT (Internet File Transfer) ROMI " sistema@dominio.com


Fiz o teste dessa forma, só que o corpo do e-mail vem em branco, pelo menos o anexo bichado não veio... kkkkk


52. Re: Script não funcionado corretamente no CRON

William Amaral de Souza
Williamm

(usa Linux Mint)

Enviado em 28/11/2013 - 08:49h

danielviolin escreveu:

think linux escreveu:

... Se caso não funcionar como o eabreu descreveu....
Tenta assim no final do script, é uma "gambi" mas acho que funciona...

teste=`cat $log`
echo "${teste}" | mail -s "LOG dos Arquivos Excluidos do IFT (Internet File Transfer) ROMI " sistema@dominio.com


Fiz o teste dessa forma, só que o corpo do e-mail vem em branco, pelo menos o anexo bichado não veio... kkkkk


Bha, ta que ta heheh

Vamos fazer um teste, joga a variável teste para um arquivo para vermos se ela esta buscando certo.

teste=`cat $log`
echo "${teste}" >> /home/usuario/email.txt
echo "${teste}" | mail -s "LOG dos Arquivos Excluidos do IFT (Internet File Transfer) ROMI " sistema@dominio.com


Ai confere o que esta no arquivo que criou... Só troca usuario para o seu usuario.


53. Re: Script não funcionado corretamente no CRON

Daniel
danielviolin

(usa Red Hat)

Enviado em 28/11/2013 - 10:32h

Olha que legal, o valor da variável teste foi jogado no arquivo normalmente.

Porém no e-mail não vai o corpo!

Tá osso isso!


54. Re: Script não funcionado corretamente no CRON

William Amaral de Souza
Williamm

(usa Linux Mint)

Enviado em 28/11/2013 - 11:05h

heehhe mas vamos lah...

Estava olhando neste post e diz "Mas o echo ainda é limitado para mensagens grandes, então vamos ler de um arquivo:"
http://www.devin.com.br/mail-via-linha-de-comando/

Sera que se tentarmos assim funciona?

teste=`cat $log`
mail -s "LOG dos Arquivos Excluidos do IFT (Internet File Transfer) ROMI " sistema@dominio.com < $teste

Ou

mail -s "LOG dos Arquivos Excluidos do IFT (Internet File Transfer) ROMI " sistema@dominio.com < $log

Ou

mail -s "LOG dos Arquivos Excluidos do IFT (Internet File Transfer) ROMI " sistema@dominio.com < ${log}

Ou

teste=`cat $log`
mail -s "LOG dos Arquivos Excluidos do IFT (Internet File Transfer) ROMI " sistema@dominio.com < $teste

Ou

teste=`cat $log`
mail -s "LOG dos Arquivos Excluidos do IFT (Internet File Transfer) ROMI " sistema@dominio.com < ${teste}

Ou

teste=`cat $log`
echo "${teste}" >> /home/usuario/email.txt
mail -s "LOG dos Arquivos Excluidos do IFT (Internet File Transfer) ROMI " sistema@dominio.com < /home/usuario/email.txt



55. Re: Script não funcionado corretamente no CRON

Daniel
danielviolin

(usa Red Hat)

Enviado em 28/11/2013 - 15:34h

Fiz todos os testes informados e mesmo problema.

Fiz também os mesmos testes colocando no final da chamada do script no crontab -e o >/dev/null

Segue o que aparece no arquivo /var/spool/mail/root quando o script não executa:

/root/shellpro/IFT/RemoveOldFiles.sh: line 36: ${teste}: ambiguous redirect
/root/shellpro/IFT/RemoveOldFiles.sh: line 36: $teste: ambiguous redirect
/root/shellpro/IFT/RemoveOldFiles.sh: line 36: ${teste}: ambiguous redirect


56. Re: Script não funcionado corretamente no CRON

William Amaral de Souza
Williamm

(usa Linux Mint)

Enviado em 28/11/2013 - 20:53h

Ta ficando difícil hehehe...

Não sei mais como testar... vamos ver se assim vai


echo "${log}" >> /home/usuario/email.txt
cat /home/usuario/email.txt | mail -s "LOG dos Arquivos Excluidos do IFT (Internet File Transfer) ROMI " sistema@dominio.com


Lembrando de trocar o usuario pelo seu.


57. Re: Script não funcionado corretamente no CRON

Daniel
danielviolin

(usa Red Hat)

Enviado em 29/11/2013 - 09:42h

Coloquei na mesma pasta do Script e dei permissão 777.

mesma problema.




58. Re: Script não funcionado corretamente no CRON

William Amaral de Souza
Williamm

(usa Linux Mint)

Enviado em 29/11/2013 - 10:15h

E o arquivo email.txt foi criado com as informações corretas?


59. Re: Script não funcionado corretamente no CRON

Daniel
danielviolin

(usa Red Hat)

Enviado em 29/11/2013 - 10:27h

Sim, Perfeito!

O problema é jogar as informações do arquivo ou variável para o corpo do e-mail.
Porém, executando o script na Mão funciona perfeito. o problema é quando programa no Crontab.


60. Re: Script não funcionado corretamente no CRON

William Amaral de Souza
Williamm

(usa Linux Mint)

Enviado em 29/11/2013 - 22:29h

Cara não sou expert em shell script, mas tentei até onde sei, pena que não funcionou, neste caso tenho uma dica para você, usar o sendEmail para realizar este processo, instala o sendemail e testa, o único "problema" é que a senha fica exposta, mas que no final você pode guardar o script com você
sem a senha para manutenções e compilar o com a senha usando o shc, antes testa se serve para você, depois compila e tal... É só no lugar de

echo `cat $log` | mail -s "LOG dos Arquivos Excluidos do IFT (Internet File Transfer) ROMI " sistema@dominio.com

Colocar isto

# Envia Email
EMAIL_DE="gmail.com"
EMAIL_PARA="@hotmail.com"
SERVIDOR_SMTP="smtp.gmail.com:587"
SENHA="senha"
ASSUNTO="LOG dos Arquivos Excluidos do IFT (Internet File Transfer) ROMI "
MENSAGEM="message-file=$log"
ANEXO=""
sendEmail -f $EMAIL_DE -t $EMAIL_PARA -u $ASSUNTO -o $MENSAGEM -a $ANEXO -s $SERVIDOR_SMTP -xu $EMAIL_DE -xp $SENHA
exit 0







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts