Questão Como executo um binário `/ usr / sbin /` no cron?


Como root eu adicionei usado crontab -e para adicionar meu script. No entanto, o script usa um binário /usr/sbin/ e eu recebo um erro sobre isso não existente quando o script é executado a partir do cron. Como faço para corrigir isso?


4


origem




Respostas:


Você deve apenas usar o caminho completo para o binário.

Então, digamos que você queria usar ipconfig em um cron job. Em vez de seu crontab ter um comando como este:

ipconfig

Você mudaria isso para ser:

/usr/sbin/ipconfig

Lembre-se: Os caminhos do shell apenas informam ao sistema onde procurar por binários / executáveis ​​quando você os chama a partir da linha de comando para facilitar os comandos de digitação. Fornecer o caminho completo para binários / executáveis ​​funciona 100% o mesmo para o uso do script.


7





Provavelmente não é a abordagem mais limpa, mas

Você pode definir a variável PATH no crontab, coloque isso 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

3