Foros del Web » Administración de Sistemas » Unix / Linux »

shell para ftp

Estas en el tema de shell para ftp en el foro de Unix / Linux en Foros del Web. Estimados: Ubique este script (ftp.sh) #!/bin/sh HOST='ftp.algo.com' USER='use_id' PASSWD='passwd' ftp -n $HOST user $USER $PASSWD #put $FILE quit END_SCRIPT exit 0 Pero cuando trato de ...
  #1 (permalink)  
Antiguo 06/12/2006, 13:36
 
Fecha de Ingreso: febrero-2002
Mensajes: 346
Antigüedad: 22 años, 10 meses
Puntos: 1
shell para ftp

Estimados:

Ubique este script (ftp.sh)

#!/bin/sh
HOST='ftp.algo.com'
USER='use_id'
PASSWD='passwd'

ftp -n $HOST
user $USER $PASSWD
#put $FILE
quit
END_SCRIPT
exit 0

Pero cuando trato de hacer algo me dice que falta el user y passwd.

Alguno de uds, me podria decir que debo agregar.

Agradecidamente
Rides
  #2 (permalink)  
Antiguo 06/12/2006, 14:09
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 20 años, 3 meses
Puntos: 47
Re: shell para ftp

Entiendo lo que queres hacer pero no entiendo la lógica del script.
Estas mezclando comandos de SHELL con comandos de FTP.
Creo que encontre la misma web que vos, pero veo que implementaste mal el codigo

Hay que crear un archivo en ~/.netrc, con lo siguiente:
Código:
machine  ftp.algo.com
login    anonymous
password [email protected]
Y el script tiene que ser asi:

Código:
#!/bin/sh
HOST='ftp.algo.com'

ftp <<**
open $HOST
cd pub
bin
get anyfile.tar.gz
bye
**
Saludos.
__________________
¡Volviendo a la programación!

Última edición por AleSanchez; 06/12/2006 a las 19:56
  #3 (permalink)  
Antiguo 06/12/2006, 14:51
 
Fecha de Ingreso: febrero-2002
Mensajes: 346
Antigüedad: 22 años, 10 meses
Puntos: 1
Re: shell para ftp

AleSanchez:

Fijate que me pide la passwd de root cuando se conecta. La verdad que estoy colgado como ampolleta. Tiene algun script que funciones y lo pueda dejar automaticamente trabajando.?

Hay alguna forma de hacer un seguimiento al script mientras trabaja (trace)

Agradecidamente

Rides
  #4 (permalink)  
Antiguo 06/12/2006, 19:53
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 20 años, 3 meses
Puntos: 47
Re: shell para ftp

Bueno ahora que leo detenidamente el documento, me doy cuenta que lo que puse no va a funcionar.
Edito el mensaje anterior con la posible solucion.
__________________
¡Volviendo a la programación!
  #5 (permalink)  
Antiguo 07/12/2006, 05:31
 
Fecha de Ingreso: febrero-2002
Mensajes: 346
Antigüedad: 22 años, 10 meses
Puntos: 1
Re: shell para ftp

AleSanchez:

Disculpas mis taras, pero me puedes explicar "~/.netrc" para hacer el archivo.
La verdad que la "cola de chancho" ,~, no me calza.

Agradecidamente.

Rides
  #6 (permalink)  
Antiguo 07/12/2006, 08:47
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 20 años, 3 meses
Puntos: 47
Re: shell para ftp

El simbolo '~' representa tu directorio de inicio (el home).
En este caso tiene que ser el directorio home del usuario que va a correr el script. Te lo aclaro por si lo va a correr por ejemplo, root desde un cron.

Si lo vas a correr con tu usuario e iniciaste sesion con él, crea el archivo .netrc en tu home. Si lo va a correr root crealo en /root/.netrc

Saludos.
__________________
¡Volviendo a la programación!
  #7 (permalink)  
Antiguo 15/12/2006, 04:43
 
Fecha de Ingreso: diciembre-2006
Mensajes: 3
Antigüedad: 18 años
Puntos: 0
Re: shell para ftp

Una duda que tengo, en caso de no tener directorio Home sino en users? como se podría hacer esta misma operación

Muchas gracias
  #8 (permalink)  
Antiguo 15/12/2006, 04:59
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 20 años, 3 meses
Puntos: 47
Re: shell para ftp

Para evitar confusiones, es que se usa el simbolo "~" para representar la ruta correspondiente el home del usuario declarado en /etc/passwd.
No hay problema si los homes estan en otro lado, tiene que funcionar bien.

Saludos.
__________________
¡Volviendo a la programación!
  #9 (permalink)  
Antiguo 15/12/2006, 05:31
 
Fecha de Ingreso: diciembre-2006
Mensajes: 3
Antigüedad: 18 años
Puntos: 0
Re: shell para ftp

Me he creado el archivo .netrc hasta ahi bien pero a la hora de ejecutar el script me da siempre el mismo error;

Error .netrc file not correct mode

y el formato de este fichero es el siguiente.

machine mimaquina
login miusuario
password mipass

No entiendo este tipo de error le he cambiado los permisos al fichero dandole todos.. pero nada :(


----------------

Vale esa parte esta solucionada jajajajajaja ahora no me coje el login me dice incorrecto a ver si lo consigo solucionar jijijijiji

Muchas gracias

Última edición por ztom; 15/12/2006 a las 05:57
  #10 (permalink)  
Antiguo 15/12/2006, 12:54
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 20 años, 3 meses
Puntos: 47
Re: shell para ftp

En realidad es alreves. Tiene que tener permisos 600.
Saludos!!!
__________________
¡Volviendo a la programación!
  #11 (permalink)  
Antiguo 18/12/2006, 02:49
 
Fecha de Ingreso: diciembre-2006
Mensajes: 3
Antigüedad: 18 años
Puntos: 0
Re: shell para ftp

AleSanchez gracias por la ayuda :)

Voy a ver si lo reviso todo que aun me esta dando algún que otro fallo

Ale reedito el mensaje.. por fin ya lo he conseguido... :)

Gracias a todos!!

Última edición por ztom; 18/12/2006 a las 03:17
  #12 (permalink)  
Antiguo 20/02/2007, 07:59
 
Fecha de Ingreso: octubre-2004
Ubicación: Santiago de Chile
Mensajes: 504
Antigüedad: 20 años, 2 meses
Puntos: 0
Re: shell para ftp

a ver si me dais una manito...


http://www.forosdelweb.com/f41/shell-ftp-466331/


__________________
Dios es mas grande que tu problema :-)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:18.