arp-scan을 사용하는 Sudo cron 작업은 빈 출력을 제공합니다.

arp-scan을 사용하는 Sudo cron 작업은 빈 출력을 제공합니다.

라는 스크립트를 만들었고 hello.sh여기에는 다음이 포함됩니다.

#!/bin/bash

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

실행 가능하게 만들고( chmod o+x) 실행한 후( ./hello.sh >> file.txt) 올바른 출력을 얻습니다 file.txt(arp-scan 결과 및 문자열 "test"). 그러나 다음 줄을 추가한 후 crontab -e:

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

다음과 같은 결과가 나타납니다.

시험

시험

시험

보시다시피 해당 arp-scan부분에서 반환된 빈 문자열이 있습니다. arpscan을 cron과 함께 사용하려면 어떻게 해야 합니까?

추가 정보:sudo( )로 로그인하시면 모든 작업이 완료됩니다 sudo -i. arp-scansudo가 필요합니다. 저는 이것을 Fedora 20에서 실행하고 있습니다.

답변1

cron매우 최소한의 환경과 축소된 경로로 실행됩니다.

cron모든 명령에 제공된 전체 경로가 있는지 확인하거나 스크립트가 자체 PATH 변수를 설정 하도록 실행하도록 설계된 스크립트에서 항상 가장 안전합니다 .

명령 에 전체 경로를 추가해 보십시오 arp-scan.

관련 정보