" /> Envía o recibe archivos automáticamente a servidores FTP | Bitácora de un Asesor

Soluciones en informática...

que se adaptan a tus necesidades

Tecnologías de la Información...

Aplicadas eficientemente a tu negocio

Consultoría profesional

y con soluciones reales

Asesor en Sistemas



Si tienes la necesidad de enviar tus respaldos o transferir archivos a un servidor remoto de manera repetitiva lo mejor es programarlos para que se realicen de manera automática. Desde Windows es fácil hacerlo mediante la utilería de «Tareas Programadas» que viene incorporado en el sistema operativo y con scripts para el programa «ftp» que se ejecuta en la línea de comandos

Genera tu script ftp

envio ftp
Lo primero es generar un archivo de texto que contendrá las instrucciones que se ejecutaran en el programa ftp. Para esto, desde el Bloc de Notas (notepad.exe) vas a generar un nuevo archivo que contenga los comandos

[miusuario]
[mipassword]
binary
send [mi_archivo.ext]
quit

las palabras entre corchetes las reemplazaras con la siguiente información

miusuario El login con el cual accesas a tu servidor ftp
mipassword La contraseña con la cual accesas a tu servidor ftp
binary Esto le indica al programa el modo de transferencia de tus archivos. ASCII se aplica para archivos de texto. BINARY se aplica para todo lo demás.
send mi_archivo.ext Este comando envía el archivo en cuestión y puedes repetirlo en tu script las veces que sea necesario dependiendo de la cantidad de archivos que debes de enviar. Reemplaza mi_archivo.ext con el nombre y la extensión del archivo que requieras descargar. En caso de que lo que necesites sea descargar algún archivo del servidor, primero deberás ubicarte en el directorio remoto en el que se encuentre el archivo que requieres con el comando cd /directorio_remoto (reemplaza directorio_remoto por el directorio que necesites) y después escribe el comando get mi_archivo.ext

quit le indica al programa ftp que finalice.

Puedes consultar mas comandos ftp en este post

Guarda tu archivo en el mismo directorio local en que están almacenados tus archivos a enviar. En este caso yo lo llamare instrucciones.txt

Genera tu archivo batch

envio ftp

Después de generar el script ahora debes de generar las instrucciones para ejecutar el programa ftp. Para esto nuevamente abre el bloc de notas y en un archivo nuevo escribe

C:
cd \[mi_directorio]\[mi_subdirectorio]
ftp -s:[instrucciones.txt] [direccionftp]

Reemplaza las siguientes líneas

 

C: Es la unidad lógica en la que están almacenados tus archivos
cd \mi_directorio\mi_subdirectorio Esto es necesario ya que el programa ftp envía los archivos desde la ruta en la cual se ejecuto inicialmente el programa. Reemplaza esto por la ruta en que estan guardados tus archivos.
ftp -s:instrucciones.txt 127.0.0.1 Aquí reemplaza instrucciones.txt por el nombre y la extensión del script que generaste en el paso anterior y tambien reemplaza 127.0.0.1 por la direccion del tu servidor ftp

En este archivo batch puedes poner instrucciones para comprimir tus archivos o cualquier operación previa que se requiera procesar antes de enviarlos.

Al final guarda tu archivo con el nombre que quieras PERO CON LA EXTENSIION .BAT para que Windows sepa que es un archivo para ejecutar instrucciones.

En este caso yo lo llamare enviar.bat

 
Programa la tarea

Se puede acceder al Programador de Tareas de Windows desde el panel de control, pero como la interfaz grafica varia entre XP y Vista mejor hacer otro script para programar la tarea desde la línea de comandos.

Para programar esta tarea debes de tener una cuenta de acceso al sistema con privilegios de administrador. Ejecuta el siguiente comando desde el intérprete de comandos de Windows (cmd.exe)

schtasks /CREATE /S [nombre_equipo] /RU [nombre_equipo]\[usuario_administrador] /RP [contraseña] /SC daily /ST [15:00:00] /TN Mi_tarea /TR c:\enviar.bat

nombre_equipo El nombre que tiene tu equipo
usuario_administrador El usuario con privilegios de administrador. Es indispensable que este usuario tenga una contraseña asignada
contraseña es obvio
daily aqui puedes usar, enrte muchas otras: hourly, daily, weekly, monthly, once, onstart, onlogon
15:00:00 esto reemplazalo con la hora (en formato de 24 hrs.) en que quieres que se ejecute el evento
Mi_tarea ponle un nombre corto y descriptivo a tu tarea
c:\enviar.bat Aqui reemplaza la ruta y el nombre de tu archivo BAT

 

Para ver si ejecuta tu tarea teclea SCHTASKS /RUN /TN Mi_tarea

Para ver como quedo programada ejecuta SCHTASKS /QUERY /TN Mi_tarea

Comparte este articulo
[Ask] [del.icio.us] [Digg] [Facebook] [Google] [LinkedIn] [MySpace] [Rojo] [Squidoo] [Technorati] [Twitter] [Windows Live] [Yahoo!] [Email]

30 respuestas a Envía o recibe archivos automáticamente a servidores FTP

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *