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 스캔 결과 및 문자열 "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.

관련 정보