Automatización de ftp con netrc
Se puede automatizar un cliente de ftp mediante el uso de netrc. El uso de netrc a grandes rasgos, nos permitirán introducir automáticamente usuario y contraseña para varias máquinas (autologin) e incluso hasta crear macros para las acciones repetitivas.
Netrc es un fichero que está hubicado en $HOME/.netrc y es muy importante que tenga permisos 600 de lo contrario no funcionará.
Como editar .netrc para hacer autologin:
machine ftp.server.com
login tu_user
password TuPaSSWoRD
Cada vez que hagamos un ftp ftp.server.com nos conectará automáticamente, introducirá el usuario y la contraseña.
Si queremos atomatizar tareas mediante macros lo haremos con macdef, dentro del .netrc
macdef macroname
cd /data
put fichero.txt
quit
Ahora una vez que estemos autenticados en el ftp, llamaremos al macro simplemente ejecutando “$macroname”. La declaracion del macro terminará cuando detecte una linea en blanco, asi que es importante darle al intro cuando editemos el fichero para dejar una linea en blanco al final de nuestro macro.
Esto permite bastante flexibilidad, ya que nos podemos conectar sin poner usuario ni password y podemos atomatizas las tareas repetitivas como bajarse varios ficheros de la misma máquina todos los días. Esto se puede hacer de bastante maneras, pero esta es la manera “correcta” de hacerlo.
Todo lo que sea automatizar tareas repetitivas que no aportan nada, que sea bienvenido
Buen documento Rubick ,pero en mi opinión es mejor habilitar el servidor de ssh y permitir el acceso a través de claves públicas.
Ya pondre un post exponiendo como se hace este proceso.
Un saludo
c4n
Estamos de acuerdo, pero el problema es que yo no soy el cliente y hay cerca de 100 scripts de oracle,sap vete a saber, que hacen este ftp y decir al cliente que modifique todos los scripts…
Ya sabes que la seguridad siempre fastidia al usuario y nunca tiene en cuenta la seguridad, que te voy a contar a tí
No te lo vas a creer pero justo la semana pasada quise hacer esto para pasar automáticamente unos archivos a un W2K3 Server. Recordaba que se hacía así porque hace unos años lo hice en un curro anterior pero no me puse a buscarlo. Ahora ya me has ahorrado la búsqueda
.
Saludos, Iván.
Me alegra que te sirva almenos como referencia, agregalo a favoritos/del.icio.us o lo que uses
Un saludo
No lo conocía el netrc, y resulta que incluso tiene página de man.
La verdad es que en una situación similar yo probablemente hubiera intentado usar el scp, como dice c4n, pero hay veces que ¡simplemente no es posible!
Por lo demás, gracias por mostrarnos un clásico de UNIX aún desconocido para algunos como yo
Yo tampoco lo conocia, pero mira por donde buscando me encontró
Ya sabes como funciona unix, una página del man te lleva otra etc etc..
Si tengo scp disponible, intento no usar ftp yo tampoco.
Aqui estamos, para aprender unos de otros