El script de Shell no funciona con cron

Tengo este script de shell en /usr/local/1.sh:

#!/bin/sh wget -r -np --user=peter --password='123' ftp://67.225.87.95/ -p /test/ 

Si lo ejecuto usando

 # sh 1.sh 

el script ejecuta bien y hace lo que se supone que debe hacer.

Pero si creo un trabajo cron para ejecutar el mismo script:

 1 2 * * * /usr/local/bin/1.sh 

el script no se ejecuta en absoluto.

¿Qué podría estar mal?

  • Siempre use el path completo cuando haga algo en el trabajo de cron
  • Redireccione toda la salida, el error a un file de logging para ver qué sucede: 1 2 * * * /usr/local/bin/1.sh > /var/log/1.log 2>&1

Si va a ejecutarlo directamente sin invocar el intérprete de shell, debe proporcionar los permissions adecuados:

 chmod +x /usr/local/bin/1.sh 

De lo contrario, ejecute el intérprete contra su:

 1 2 * * * /bin/sh /usr/local/bin/1.sh 

Reemplazar:

 1 2 * * * /usr/local/bin/1.sh 

Por:

 1 2 * * * /bin/bash /usr/local/bin/1.sh 

o

Quédatelo:

 1 2 * * * /usr/local/bin/1.sh 

Y preponga lo siguiente en /usr/local/bin/1.sh :

 #!/bin/bash 

(puede que tenga que replace /bin/bash por lo which bash es decirle)