Envío por FTP automático en Windows

EJEMPLO 1

Se pretende subir un archivo diariamente a un servidor ftp desde Windows. Usaremos el comando ftp de windows. Para ello necesitamos crear dos archivos.

El primer archivo será: “conexionftp.bat” el cual contiene los siguientes datos:

ftp -s:c:directorio_localftp.txt 192.168.33.166

Donde “-s” indica el origen del archivo con el usuario y password y la direccion IP donde nos vamos a conectar.

El segundo archivo será: “ftp.txt” el cual contiene las lineas:

usuario
contraseña
cd backupzip
put C:directorio_externobackuporense.zip
quit

Las dos primeras lineas son para el usuario y la contraseña que nos permita autentificarnos con el servidor FTP. Seguidamente hacemos un cambio de directorio en el servidor.

El comando “put” manda el archivo indicado en la ruta al servidor. Luego nos desconectamos con “quit”.

Para terminar nos hara falta crear una tarea programada de Windows para automatizar la tarea cuando queramos. En dicha tarea llamaremos para ejecutar el fichero conexionftp.bat que se conecta con el servidor remoto y le pasa unos comandos a ejecutar contenidos en el fichero ftp.txt.

EJEMPLO 2

Creamos un fichero .bat llamado SendInformes.bat con la siguiente configuracion:

@echo off
call D:scriptsUpload_Informes.bat > D:scriptsSalida.txt

Donde ejecuta otro fichero .bat llamado Upload_Informes.bat con la salida hacia el fichero .txt Salida.txt, esto es que imprime el resultado de la operacion en un fichero de texto a modo de log. La configuracion del fichero Upload_Informes.bat es la siguiente:

@echo  off
net use x: carpeta_compartidaInformes
x:
ftp -n -s:d:scriptsftp.txt 192.168.92.48
move x:*.csv x:ya_enviados
net use x: /del

El fichero  Upload_Informes.bat descrito arriba parchea una unidad de red (x), cambia a esa unidad, hace una llamada por ftp usando los comandos contenidos en un fichero de texto (ftp.txt) y mueve los ficheros antiguas a una carpeta. Finalmente elimina el parcheo de red.

En la conexion ftp a la IP 192.168.92.48 con ejecuta los siguientes comandos guardados en el fichero ftp.txt:

ususuario
password
cd directorio
binary
prompt
mput *.csv
quit

Mueve los ficheros .csv a una carpeta que hay en el directorio.

La salida del resultado es la que se imprime en el fichero de texto Salida.txt:

The command completed successfully.
Connected to 192.168.92.48.
220 Microsoft FTP Service
ftp> Username usuario
password
331 Password required for usuario.
230 User usuario logged in.
ftp> cd directorio
250 CWD command successful.
ftp> binary
200 Type set to I.
ftp> Interactive mode Off .
ftp> prompt
mput *.csv
200 PORT command successful.
150 Opening BINARY mode data connection for Peticiones.csv.
226 Transfer complete.
ftp: 2609324 bytes sent in 79.95Seconds 32.64Kbytes/sec.
ftp> quit
221 
x:Peticiones.csv
        1 file(s) moved.

Finalmente creamos una tarea en windows para que se ejecute segun queramos. La tarea ejecuta el fichero sendinformes.bat que es el que inicia todo.

About these ads

Etiquetas: ,

Una respuesta to “Envío por FTP automático en Windows”

  1. Alex Says:

    Se me hizo interesante esa solucion….una pregunta, supongamos k se cae la conexion d red….como le implementarias para k la descarga se reanudara automaticamente y k el archivo k se este transfiriendo se reescribiera desd el punto donde se perdio la conexio???…
    Esk me lo dejaron d tarea =(

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

%d personas les gusta esto: