Script não funcionado corretamente no CRON

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

Daniel
danielviolin

(usa Red Hat)

Enviado em 26/11/2013 - 16:57h

eabreu escreveu:
Pois é, anteriormente já tinha visto essa saída e analisando detalhadamente. o final informa o seguinte:

/bin/sh: root: command not found 


"o comando root não foi encontrado - saída passada pelo shell /bin/sh". suponho que editou o crontab do usuário root usando o comando crontab -e, por isso não foi necessário usar o usuário na coluna que antecipa o comando a ser executado.

suponho também que mesmo alterando a variavél SHELL="/bin/sh" para SHELL="/bin/bash" não funcionou pois ele executa o comando com o shell /bin/sh.

acrédito que a solução seria deixar o script para rodar com /bin/sh (incluindo o mesmo no cabeçario do script) e em seguida editar o crontab do root com o comando crontab -e e incluir a entrada sem o nome do usuário. e depois reiniciar o serviço do cron.

entrada para ser deixada dentro do cron:

20 16 * * * /root/shellpro/IFT/RemoveOldFiles.sh 


muda também a variavel para SHELL="/bin/sh"


Feito, recebi o e-mail, e com anexo ainda. Eita pau gozado. :D




  


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

Perfil removido
removido

(usa Nenhuma)

Enviado em 26/11/2013 - 17:02h

danielviolin escreveu:

eabreu escreveu:
Pois é, anteriormente já tinha visto essa saída e analisando detalhadamente. o final informa o seguinte:

/bin/sh: root: command not found 


"o comando root não foi encontrado - saída passada pelo shell /bin/sh". suponho que editou o crontab do usuário root usando o comando crontab -e, por isso não foi necessário usar o usuário na coluna que antecipa o comando a ser executado.

suponho também que mesmo alterando a variavél SHELL="/bin/sh" para SHELL="/bin/bash" não funcionou pois ele executa o comando com o shell /bin/sh.

acrédito que a solução seria deixar o script para rodar com /bin/sh (incluindo o mesmo no cabeçario do script) e em seguida editar o crontab do root com o comando crontab -e e incluir a entrada sem o nome do usuário. e depois reiniciar o serviço do cron.

entrada para ser deixada dentro do cron:

20 16 * * * /root/shellpro/IFT/RemoveOldFiles.sh 


muda também a variavel para SHELL="/bin/sh"


Feito, recebi o e-mail, e com anexo ainda. Eita pau gozado. :D



como assim feito ?


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

Daniel
danielviolin

(usa Red Hat)

Enviado em 26/11/2013 - 17:04h

Feito o que você pediu... mas o problema persiste.


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

Perfil removido
removido

(usa Nenhuma)

Enviado em 26/11/2013 - 17:06h

Mas o e-mail num foi enviado e com anexo, como esta programado no script ? O script tem fazer algo mais ?


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

Daniel
danielviolin

(usa Red Hat)

Enviado em 26/11/2013 - 17:08h

Olha como chega o e-mail, é esse o problema: http://www.4shared.com/photo/2f5P5IGW/email_problema.html


O Log é para vir no corpo da mensagem.


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

William Amaral de Souza
Williamm

(usa Linux Mint)

Enviado em 26/11/2013 - 17:19h

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?


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

Paulo
paulo1205

(usa Ubuntu)

Enviado em 26/11/2013 - 18:58h

Quando você mexeu nas variáveis de ambiente do jeito como eu falei, até a execução manual resultou num anexo. Isso sugere fortemente que seu ambiente tem alguma coisa a ver com o comportamento em cada caso.

Examine o valor da cada variável de ambiente e comece a brincar com elas. Ou, então, cole aqui a saída do comando env. Se houver alguma coisa muito esquisita, pode ser que salte aos olhos de alguém aqui.


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

Perfil removido
removido

(usa Nenhuma)

Enviado em 26/11/2013 - 19:40h

Então se quer apenas o conteúdo no corpo do e-mail, deixe seu script como antes. e deixe as variáveis alteradas anteriormente com o conteúdo que tinha antes


#!/bin/bash
remove_date=`date +%Y_%m_%d`
log=/root/shellpro/IFT/log/Remove/RemoveOldFiles_$remove_date.log
tmp=/root/shellpro/IFT/FilesForDelete-tmp.txt
touch $tmp
dias=60
cd /dados/downloads-oldfiles
echo -e "Data da Ultima Atualização: `date` " > $log
echo " " >>$log
echo "================= Arquivos com mais de $dias dias, Marcados para EXCLUSÃO! ================= " >>$log
echo " " >>$log
echo "." >>$log

find /dados/downloads-oldfiles *.* -type f -atime +$dias | grep -v aquota.group | grep -v aquota.user | grep -v index.html >$tmp

while read x
do
echo -e "\n Removendo o arquivo: $x " >> $log
rm -f "$x" >> $log
number=`expr $number + 1`
echo " " >>$log
done <$tmp
chmod 777 $log
echo `cat $log` | mail -s "LOG dos Arquivos Excluidos do IFT (Internet File Transfer) ROMI " sistema@dominio.com



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

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 26/11/2013 - 21:33h

Posta a saida do comando só pra tirar um duvida:

cat /etc/crontab |grep "SHELL="



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

Daniel
danielviolin

(usa Red Hat)

Enviado em 27/11/2013 - 08:26h

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




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

Daniel
danielviolin

(usa Red Hat)

Enviado em 27/11/2013 - 08:30h

andrecanhadas escreveu:

Posta a saida do comando só pra tirar um duvida:

cat /etc/crontab |grep "SHELL="


Segue, conforme pediram a posta anteriores:


[root@zeta IFT]# cat /etc/crontab | grep "SHELL="
SHELL="/bin/sh"
[root@zeta IFT]#


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

Perfil removido
removido

(usa Nenhuma)

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

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



então tente dessa forma descrita abaixo.


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







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts