【发布时间】:2017-01-21 14:50:15
【问题描述】:
我有一个执行此操作的 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 用户产生了影响? -
我实际上是从 sudo cron 和常规 cron 运行脚本,它们都产生了相同的错误输出。我使用 sudo 和常规模式手动运行了我的脚本,它们产生了相同的正确输出。
-
检查环境变量差异。我会做
grep -Eo '192\.168\.0\.{1,3\}[0-9]'(引用) -
尝试尝试...由于某种原因出现此错误:“grep: invalid repeat count(s)”
-
你还有其他写给
new.txt的cronjobs吗?
标签: bash cron network-programming nmap