El trabajo Sudo cron usando arp-scan da una salida vacía

El trabajo Sudo cron usando arp-scan da una salida vacía

Hice un script llamado hello.shy contiene lo siguiente:

#!/bin/bash

printf "$( arp-scan --interface=eth0 --localnet )\n"
printf "test\n"

después de hacerlo ejecutable ( chmod o+x) y ejecutarlo ( ./hello.sh >> file.txt), obtengo el resultado correcto file.txt(que es el resultado del escaneo arp y la cadena "prueba"). Pero después de agregar la siguiente línea a crontab -e:

*/1 * * * *  /path/to/hello.sh >> /path/to/file.txt

Obtengo el siguiente resultado:

prueba

prueba

prueba

Como puede ver, la arp-scanpieza devuelve una cadena vacía. ¿Cómo puedo hacer que arpscan funcione con cron?

Información adicional:Todo se hace después de iniciar sesión como sudo ( sudo -i). arp-scannecesita sudo. Estoy ejecutando esto en Fedora 20.

Respuesta1

cronse ejecuta con un entorno mínimo y un camino reducido.

Siempre es más seguro utilizar scripts diseñados para ser ejecutados cronpara garantizar que todos los comandos tengan la ruta completa proporcionada, o que el script establezca su propia variable PATH.

Intente agregar la ruta completa al arp-scancomando.

información relacionada