Como root adicionei usado crontab -e
para adicionar meu script. No entanto, o script usa um binário /usr/sbin/
e recebo um erro sobre ele não existir quando o script é executado no cron. Como faço para corrigir isso?
Responder1
Você deve apenas usar o caminho completo para o binário.
Então, digamos que você queira usar ipconfig
em um cron job. Em vez do seu crontab ter um comando como este:
ipconfig
Você mudaria isso para:
/usr/sbin/ipconfig
Lembre-se: os caminhos do shell apenas informam ao sistema onde procurar binários/executáveis quando você os chama na linha de comando para facilitar sua vida digitando comandos. Fornecer o caminho completo para binários/executáveis funciona 100% da mesma forma para uso de script.
Responder2
Provavelmente não é a abordagem mais limpa, mas
Você pode definir a variável PATH no crontab, coloque-a como a primeira linha do seu crontab
# start of crontab file
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# your cron entries below