O script shell é executado por si só, mas não no cron

2

Eu tenho um script de shell que executa o nmap em um endereço e quero que ele faça isso diariamente para mim. Então eu adicionei uma referência a ele no meu crontab.

Infelizmente, por algum motivo, ele não reconhece os argumentos que estou enviando para o nmap. Enquanto ele roda bem quando eu o executo explicitamente, ele comete erros no cron no primeiro argumento.

Entrada do Cron:

0 3 * * * /home/directedition/observatory/nmapscan.sh # JOB_ID_1

Script:

#!/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

Erro: nmap: invalid option -- 'A'

Eu posso embaralhar os argumentos, e o que eu colocar primeiro invariavelmente irá gerar erros.

    
por directedition 09.04.2013 / 14:22

1 resposta

0

Tente usar o caminho completo do programa em execução, como:

0 3 * * * /bin/bash /home/directedition/observatory/nmapscan.sh # JOB_ID_1

    
por prophecy201 09.04.2013 / 15:07