![arp-scan을 사용하는 Sudo cron 작업은 빈 출력을 제공합니다.](https://linux55.com/image/83857/arp-scan%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%20Sudo%20cron%20%EC%9E%91%EC%97%85%EC%9D%80%20%EB%B9%88%20%EC%B6%9C%EB%A0%A5%EC%9D%84%20%EC%A0%9C%EA%B3%B5%ED%95%A9%EB%8B%88%EB%8B%A4..png)
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-scan
Sudo가 필요합니다. 저는 Fedora 20에서 실행하고 있습니다.
답변1
cron
매우 작은 환경과 단순화된 경로에서 실행됩니다.
cron
모든 명령이 전체 경로를 제공하거나 스크립트가 자체 PATH 변수를 설정하도록 실행되도록 설계된 스크립트에서 항상 가장 안전합니다 .
명령에 전체 경로를 추가해 보십시오 arp-scan
.