在 crontab 中执行时 Nmap 不起作用

在 crontab 中执行时 Nmap 不起作用

我尝试使用 cronjobs 每天在特定时间(下面的示例为 12:18)扫描网络,然后将 IP 输出到文件中。该命令运行正常,但如果在 cronjobs 中实现则不起作用。以下内容在 /etc/crontab 中实现:

18 12 * * * root /usr/bin/nmap -O 10.0.0.10-253 | grep 'Nmap 扫描' | cut -d' ' -f5> HostList

答案1

当一个可运行的手动命令在作为 cron 作业运行时无法正常运行时,最可能的答案是,手动运行命令与 cron 生成作业时有所不同。这种差异最常见的是 PATH 不同,或者 PWD(当前目录)不同。

通过在可执行文件和文件名上指定绝对路径来解决这些问题:

18 12 * * * root /usr/bin/nmap -O 10.0.0.10-253 | /bin/grep 'Nmap scan' | /usr/bin/cut -d' ' -f5 > /var/tmp/HostList

这些路径是未经测试的示例,仅供说明之用。您需要验证可执行文件的位置和输出文件的所需位置,并相应地调整 crontab 条目。

相关内容