O trabalho Sudo cron usando arp-scan fornece saída vazia

O trabalho Sudo cron usando arp-scan fornece saída vazia

Fiz um script chamado hello.she ele contém o seguinte:

#!/bin/bash

printf "$( arp-scan --interface=eth0 --localnet )\n"
printf "test\n"

depois de torná-lo executável ( chmod o+x) e executá-lo ( ./hello.sh >> file.txt), obtenho a saída correta file.txt(que é o resultado do arp-scan e a string "test"). Mas depois de adicionar a seguinte linha a crontab -e:

*/1 * * * *  /path/to/hello.sh >> /path/to/file.txt

Eu recebo a seguinte saída:

teste

teste

teste

Como você pode ver, há uma string vazia retornada pela arp-scanparte. Como posso fazer o arpscan funcionar com o cron?

Informação adicional:Tudo é feito após o login como sudo ( sudo -i). arp-scanprecisa do sudo. Estou executando isso no Fedora 20.

Responder1

croné executado com um ambiente mínimo e um caminho reduzido.

É sempre mais seguro em scripts projetados para serem executados cronpara garantir que todos os comandos tenham o caminho completo fornecido ou que o script defina sua própria variável PATH.

Tente adicionar o caminho completo ao arp-scancomando.

informação relacionada