Sudo cron job с использованием arp-scan дает пустой вывод

Sudo cron job с использованием arp-scan дает пустой вывод

Я создал скрипт под названием 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команде.

Связанный контент