removido
(usa Nenhuma)
Enviado em 25/11/2013 - 23:19h
danielviolin escreveu:
Bom dia Pessoal,
Depois de muito tempo quebrando a cabeça e não conseguir nenhuma solução, venho fazer a pergunta aqui.
Tenho um script que remove alguns arquivos de uma área temporária depois de 60 dias, e o mesmo, salva a lista de arquivos que foram apagado num arquivo de log e manda essa lista no corpo do e-mail, utilizando o comando mail.
Se eu executar o script na mão, ele funciona perfeitamente!!! porém se eu coloco ele no CRON,
esse script manda o e-mail, porém não vem mais o corpo de e-mail, ele vem em anexo um arquivo .dat apenas isso.
Já fiz de tudo para tentar resolver e não consegui, alguém já passou por isso?
O que mudou foi o S.O, antes era o FEDORA release 6 (Zod) e agora passou a ser o CENTOS 6.4.
Segue script:
#!/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
e depois falou:
danielviolin escreveu:
Meu Cron estava assim:
20 16 * * * sh /root/shellpro/IFT/RemoveOldFiles.sh >/dev/null
Fiz o que você me pediu e deu o mesmo problema no e-mail.
Muito estranho.
Analisando cada post, deu pra perceber o seguinte....
1º - Se o script é executado normalmente na "mão", então suponho que o problema pode está na sintaxe do do arquivo
crontab
2º - Analisando seu arquivo crontab deu pra ver uma coisa interessante. que você está executando o script pelo cron usando um usuário chamado
sh.
Perguntas:
1º -Com qual usuário está executando o script na "mão" ?
2º - Esse usuário existe no seu sistema e se existe o mesmo tem permissão para acessar e gravar a pasta
/root ? pois até onde sei a pasta /root só pode ser acessada pelo root.
Retorna ai..