Tente adicionar isso antes do trabalho do cron.
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Ele irá mostrar ao usuário cron onde estão os diretórios executáveis.
Eu tenho um script que redireciona a saída do df para um arquivo e, em seguida, envia-o em um email. O comando mail está configurado da seguinte forma:
/usr/bin/mail -s "Subject" -r [email protected] [email protected] < /tmp/diskSpace.txt
Tudo está funcionando corretamente quando eu executo este script como usuário root, mas tenho um comportamento estranho quando o executo a partir do crontab raiz. Nesse caso, a mensagem é entregue, mas o conteúdo de /tmp/diskSpace.txt é anexado ao email, em vez de ser o corpo. Eu até tentei replicar o ambiente raiz executando o cron como:
env 'cat root-env-saved-to-this-file' /bin/bash mailscript.sh
mas nada mudou. Alguma sugestão ou eu deveria apenas lidar com isso com bibliotecas de email perl?
Tente adicionar isso antes do trabalho do cron.
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Ele irá mostrar ao usuário cron onde estão os diretórios executáveis.