ATENÇÃO : Li todas as perguntas semelhantes sobre re. cron, caminhos, variáveis env e assim por diante, mas não encontraram nenhum que ofereça soluções para o meu problema específico.
Eu tenho um script que faz alguns despejos do MySQL e exclui os antigos como este:
/usr/bin/find "/home/bkp/dbdump" -name "*.gz" -mtime +5 -delete
(o comando acima foi modificado do meu comando original por sugestões de comentários )
No entanto, os arquivos nunca são excluídos quando o cron executa esse script. O usuário cron é root.
Notas de depuração
Se eu executar manualmente o script no qual o comando aparece, ele os excluirá conforme o esperado.
Se eu executar o comando find acima por conta própria a partir da linha de comando como root, ele os excluirá conforme o esperado (e com -print ele retornará uma lista de arquivos com mais de 5 dias conforme o esperado)
Também adicionei uma declaração explícita do caminho ao crontab do root, mas
isso não muda nada.Cron não envia nenhum erro, e se eu canalizar a operação de localização para um arquivo de log,
ele ficará vazio ou não será criado.Estou usando o servidor Ubuntu 14.04.03 LTS.
/usr/bin/find /home/bkp/dbdump/*.gz -mtime +5
cron
Os comandos são executados no shell e o shell expande curingas.
cron
deve enviar email com mensagens de saída e erro. Você recebe algum e-mail desse trabalho?