Tente isto:
find ./*.log -type f -mmin -360 | \
xargs -n 1 -I % sh -c 'mail -s "MY LOG FILE - %" [email protected] < %'
Estou usando 'find' no final de um script para me enviar por e-mail todos os arquivos .log no diretório atual que foram modificados nas últimas 6 horas. Eu preciso disso porque os nomes dos arquivos mudam, então não posso ser mais específico do que solicitar os alterados recentemente.
por exemplo,
for file in 'find ./*.log -type f -mmin -360' ; do mail -s "MY LOG FILE - $file" [email protected] < $file ; done
... e funciona às vezes, mas com mais frequência não funciona mesmo quando sei que existe um arquivo no diretório que se encaixa nos critérios (que acaba de ser modificado).
Alguma idéia de por que não está funcionando de forma consistente para mim?
Tente isto:
find ./*.log -type f -mmin -360 | \
xargs -n 1 -I % sh -c 'mail -s "MY LOG FILE - %" [email protected] < %'