miércoles, 3 de mayo de 2017

Programar una subida de archivos automática a FTP

Un pequeño truquillo para automatizar subidas de archivos a FTP, una tarea algo tediosa que toca realizar de vez en cuando. A veces tan de cuando en cuando, que hay que andar buscando el usuario y password del FTP cuando toca realizarla.


Para evitar esta engorrosa tarea, vamos a crear un script que introduzca un nuevo comando para automatizar el proceso.

Lo primero de todo, creamos un fichero .bat con estos parámetros:

@echo off
echo user UserName> ftpcmd.dat
echo Password>> ftpcmd.dat
echo bin>> ftpcmd.dat
echo put %1>> ftpcmd.dat
echo quit>> ftpcmd.dat
ftp -n -s:ftpcmd.dat SERVERNAME.COM
del ftpcmd.dat
De este scrip, modificamos estos parámetros conforme a nuestra necesidad:
UserName: Nuestro nombre de usuario del servidor FTP.
Password: Nuestra contraseña de usuario del FTP.
SERVERNAME.com: La dirección IP o host de nuestro servidor

Una vez creado este archivo, debemos ubicarlos en una de las rutas PATH del sistema. Podemos ver los PATH de dos maneras: mirando las variables de entorno, o pidiendoselo al equipo, con el comando PATH. Aqui los dos ejemplos:


Variables de entorno lo encuentras en las propiedades de sistema, desde Windows XP a Windows 10, y servidores.


Path es un comando del mismo nombre. Abres una ventana de comandos, tecleas "path", y ahí los tienes.

Aunque yo recomendaría dejarlos en system32, que es una ruta no asociada a un perfil de usuario.
Por cierto, el archivo, llamalo de alguna forma obvia, ya que será el comando que luego invocaremos. Por ejemplo, llama al archivo "subirftp.bat", que es un nombre de solo 8 caracteres, no deberia dar problemas.

Con esto, tenemos el comando para subir algo al ftp. Ahora, solo hay que dar la orden agregando una nueva linea en el script que utilicemos para automatizar procesos de backup, o bien, lanzandolo a mano. Por ejemplo, si tenemos algun proceso .bat que lance una copia de seguridad de un archivo sql, lo mismo queremos poner el archivo a buen recaudo, de forma que en el mismo script que invoca la exportacion del archivo, podemos agregar una linea que sea "subirftp "nombre_de_tu_archivo". Y ya está, no tiene mas. Simple y facil  :)

BONUS: Puedes agregar el comando echo cd /pathname/>>ftpcmd.dat para indicar la ruta al servidor ftp donde quieras que te ubique lo que subas.

1 comentario:

¡Gracias por colaborar en este blog con tus comentarios! :)