我有一个 shell 脚本,用于在某个地址上运行 nmap,我想让它每天帮我执行这个任务。因此,我在 crontab 中添加了对它的引用。
不幸的是,出于某种原因,它无法识别我发送给 nmap 的参数。虽然我显式运行它时它运行正常,但它在 cron 中的第一个参数上出错。
Cron条目:
0 3 * * * /home/directedition/observatory/nmapscan.sh # JOB_ID_1
脚本:
#!/bin/bash
today=$(date +"%Y-%m-%d")
tempfilename=/home/directedition/observatory/scan-$today.temp.xml
filename=/home/directedition/observatory/scan-$today.xml
touch $tempfilename
chmod 640 $tempfilename
/usr/bin/nmap -A -T5 -O -v -oX $tempfilename 10.10.1.0-255 > /home/directedition/observatory/nmapoutput.txt
chown directedition $tempfilename
chmod 644 $tempfilename
mv $tempfilename $filename
错误:nmap: invalid option -- 'A'
我可以随意调整参数,但无论我先放哪个参数,都必然会出现错误。
答案1
尝试使用执行程序的完整路径,例如:
0 3 * * * /bin/bash /home/directedition/observatory/nmapscan.sh # JOB_ID_1