
라는 스크립트를 만들었고 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-scan
sudo가 필요합니다. 저는 이것을 Fedora 20에서 실행하고 있습니다.
답변1
cron
매우 최소한의 환경과 축소된 경로로 실행됩니다.
cron
모든 명령에 제공된 전체 경로가 있는지 확인하거나 스크립트가 자체 PATH 변수를 설정 하도록 실행하도록 설계된 스크립트에서 항상 가장 안전합니다 .
명령 에 전체 경로를 추가해 보십시오 arp-scan
.