Tutorial de empleo de comandos FTP.
Actualización automática de ficheros
utilizando comandos FTP.
Autor: Ismael Caballero
1- INTRODUCCIÓN
Gracias a la oportunidad proporcionada por Roberto e Isaac, «www.adictosaltrabajo.com«,
a continuación pasaré a describir el proceso de realización de un script
para la actualización de ficheros empleando comandos FTP de forma
automática y sin necesitad de ningún gestor o programa adicional.
Esta aplicación es la utilizada en mi website, www.carixma.com
para la actualización de los ficheros que lo componen.
Este ejemplo es muy útil para los siguientes
casos:
- Si se tiene una
estructura de varios servidores o equipos que precisan ser actualizados
manualmente. - Cuando se necesita actualizar la misma información o similar de forma
periódica. - Cuando hay que actualizar muchos archivos en varios
servidores o equipos.
Con este sistema nos ahorraremos bastante tiempo
y esfuerzo, ya que como veremos, una vez configurado el
detalle de las acciones y archivos que se deben actualizar, simplemente se debe
lanzar el archivo .bat desde una consola de MS-DOS, ejecutándose el proceso de
forma automática, sin tener que abrir otros programas de gestión de archivos mediante el protocolo FTP
(Por ejemplo CuteFTP, WSFTP, AceFTP, …) ni realizar múltiples operaciones con
ellos (abrir
conexiones, situar las carpetas, seleccionar pestañas, actualizar archivos,
eliminar archivos obsoletos, ….), procesos que requieren bastante atención y tiempo.
Este ejemplo necesita de dos archivos
relacionados, el primero será un archivo .bat, que llamaremos
«ftp.bat» el cual, además de ser el encargado de ejecutar el proceso
de actualización, contiene toda la información que se necesita para actualizar
los diferentes servidores o equipos. En este ejemplo, hemos configurado nuestro
archivo .bat para actualizar 3 equipos con la misma información que se
encuentra en otro archivo de configuración «config.ftp».
El archivo «config.ftp» contiene la
información y los comandos FTP que se van a ejecutar.
2- PREPARACIÓN DEL ENTORNO
2.1- En el equipo local
creamos una carpeta que llamaremos «FTP».
2.2– A continuación,
crearemos el archivo «ftp.bat«, para ello utilizaremos
cualquier editor de texto (Por ejemplo: Notepad) y copiaremos y pegaremos el
siguiente texto:
@echo off
REM Archivo de lanzamiento y configuración de los distintos servidores a actualizar
REM Autor: Ismael Caballero Méndez
REM Fecha de Creación: 01/09/2003
REM Descripción: Sistema de actualización automática de servidores mediante comandos FTP
REM Site de Publicación: www.carixma.com
echo Inicio proceso de actualización en el Servidor 1
set ipftp=126.96.36.199
set ftploc=c:\ftp\config.ftp
ftp -n -s:%ftploc% %ipftp%>nul
echo Fichero/s subido/s a: %ipftp%
echo Inicio proceso de actualización en el Servidor 2
set ipftp=188.8.131.52
set ftploc=c:\ftp\config.ftp
ftp -n -s:%ftploc% %ipftp%>nul
echo Fichero/s subido/s a: %ipftp%
echo Inicio proceso de actualización en el Servidor 3
set ipftp=184.108.40.206
set ftploc=c:\ftp\config.ftp
ftp -n -s:%ftploc% %ipftp%>nul
echo Fichero/s subido/s a: %ipftp%
Terminaremos guardando este
archivo en la carpeta creada anteriormente con el nombre ftp.bat.
En este archivo podemos ver que se precisa la dirección IP del equipo remoto
que se desea actualizar, esta IP debe ser añadida en la variable «ipftp».
En la variable «ftploc», se indica la ruta del archivo de comandos
de ftp a ejecutar (archivo de configuración), en nuestro ejemplo se encuentra
siempre en c:\ftp\config.ftp. Si se desea utilizar varios para actualizar
distinta información, esta información será necesario modificarla.
Finalmente, con el comando ftp se ejecuta el contenido del fichero
c:\ftp\config.ftp.
Los comandos «echo», nos sirven para presentar por pantalla los
mensajes de evolución del proceso.
Como se puede apreciar viendo el código, el archivo ftp.bat estaría
preparado para actualizar 3 equipos.
2.3– Seguidamente crearemos
el archivo «config.ftp«, para ello utilizaremos cualquier
editor de texto (Por ejemplo: Notepad) y copiaremos
y pegaremos el siguiente texto:
REM Archivo de comandos FTP de los ficheros a actualizar
user usrcarixma pwdcarixma
bin
prompt no
cd wwwroot\carixmaweb
mput c:\wwwroot\web\images\1.gif c:\wwwroot\web\images\2.gif c:\wwwroot\web\images\3.gif
cd ..
cd includes
mput c:\wwwroot\includes\inc1.htm c:\wwwroot\includes\inc2.htm
cd ..
cd pages
put c:\wwwroot\pages\pages1.htm
cd ..
mkdir folderprueba
cd folderprueba
mput c:\wwwroot\web\images\1.gif c:\wwwroot\web\images\2.gif c:\wwwroot\web\images\3.gif
rename 1.gif images4.gif
mput c:\wwwroot\web\images\1.gif c:\wwwroot\web\images\5.gif c:\wwwroot\web\images\6.gif
quit
Terminaremos guardando este
archivo en la carpeta creada anteriormente con el nombre config.ftp.
En este archivo, incluiremos los comandos FTP que se desean ejecutar.
A continuación adjuntamos una imagen con el listado de todos los comandos
que podemos utilizar.
En la parte inicial del código deberemos indicar el login y password de la
cuenta de ftp, en nuestro ejemplo se denominan usrcarixma y pwdcarixma,
separados por un espacio.
A continuación indicaremos mediante el comando «cd» la ruta en el
servidor remoto donde queremos se se actualicen los archivos, mediante los
comandos «mput» (actualización de múltiples ficheros) y
«put» (actualización de un sólo fichero) iremos actualizando los
archivos correspondiente. Utilizaremos el comando cd para ir moviéndonos de una
carpeta a otra de la estructura del site.
En este ejemplo además utilizamos los comandos «mkdir» y
«rename» los cuales son utilizados para crear una nueva carpeta y para
renombrar un archivo existente.
3- EJECUCIÓN DEL PROGRAMA
Para ejecutar el archivo ftp.bat podemos hacer un
doble click con el ratón desde una ventana del explorador de windows o bien
podemos abrir una consola de MS-DOS, para ello en la línea de comandos (botón
de Inicio — Ejecutar de Windows) introduciremos el término «cmd»,
ejecutándose una consola de MS-DOS.
Utilizaremos el comando «cd» hasta que
estemos en la carpeta ftp y escribiremos ftp.bat o ftp simplemente, este
inicializará el proceso de actualización de los equipos, si todo el proceso ha
funcionado correctamente se presentarán las siguientes líneas de texto.
Si todo va perfecto ya tendremos actualizado
nuestros equipos de forma rápida y sencilla.
Además este sistema tiene una gran ventaja
sobre el uso de programas de gestión de archivos, y es que
mientras los archivos se van actualizando, nosotros podemos seguir haciendo
cualquier tarea, lo cual supone una mejora en nuestra productividad, que en
algunos casos y empresas, es muy importante.
Para procesos rutinarios de actualización de
ficheros,
podemos programar en windows alguna tarea para que ejecute este archivo o
desarrollar algún aplicativo para que realice la ejecución de este proceso, para dejar el
sistema totalmente
automático.
4- FICHEROS DE EJEMPLO
A
continuación os facilito la siguiente dirección para que os descarguéis los
archivos con los códigos de ejemplo que hemos visto en este tutorial.
http://www.carixma.com/tutoriales/files_ftp.zip
Espero que todo os haya ido perfecto y que
este sistema os facilite un poco la vida, a mí me ha servido para mucho, automatizando
varias tareas bastante pesadas.
Que la fuerza os acompañe…..