Sudo cron job usando arp-scan dá saída vazia

0

Eu fiz um script chamado hello.sh e 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 ) Eu recebo a saída correta em file.txt (que é o resultado da verificação de ARP 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:


test

test

test

Como você pode ver, há uma string vazia retornada pela parte arp-scan . Como posso obter o arpscan trabalhando com o cron?

Informações adicionais: Tudo é feito após o login como sudo ( sudo -i ). arp-scan precisa de sudo. Eu estou executando isso no Fedora 20.

    
por Mehdi Nellen 19.02.2016 / 16:48

1 resposta

2

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

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

Tente adicionar o caminho completo ao comando arp-scan .

    
por 19.02.2016 / 16:59

Tags