У меня есть скрипт bash, который делает это:
nmap -sn 192.168.0.1-255 | grep -Eo 192.168.0.{1,3\}[0-9] > new.txt
date >> network_log
echo ---------------------------- >> network_log
cat new.txt >> network_log
Сканирует сеть и добавляет результаты в файл network_log с отметкой времени. После запуска вручную файл network_log выглядит так:
Tue 13 Sep 2016 11:22:23 EDT
----------------------------
192.168.0.1
192.168.0.2
192.168.0.45
тогда как cronjobs производят следующие выходные данные в моем файле network_log:
Tue Sep 13 17:46:00 EDT 2016
----------------------------
без результатов ip. Примечание: cronjob запускается от пользователя root, поэтому у него есть все права, необходимые для сканирования всей сети.
sudo
, чтобы увидеть, имеет ли значение пользователь cron или root? - person Jean-François Fabre   schedule 14.09.2016grep -Eo '192\.168\.0\.{1,3\}[0-9]'
(цитирую) - person Jean-François Fabre   schedule 14.09.2016new.txt
? - person Leon   schedule 14.09.2016nmap
с помощьюtype map
илиwhich nmap
и укажите полный путь в своем скрипте. - person Mark Setchell   schedule 14.09.2016