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

Publicado por Raul Rojas el Feb 12, 2009 en General, Trucos, software, windows |

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 [instrucciones.txt]

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 instrucciones.txt Aquí reemplaza instrucciones.txt por el nombre y la extensión del script que generaste en el paso anterior

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]

Etiquetas:, ,

3 Comments

AlexCC
Jul 7, 2009 at 2:12 PM

una pregunta…
Donde cargas el servidor ftp al que enviaras los archivos, ya que he probado y solo me deja en la linea de comandos de ftp. y me dice que el host no es valido


 
Raul Rojas
Jul 7, 2009 at 6:37 PM

Ups!!. Pequeño gran detalle que se me olvido anotar. Dentro de tu script “instrucciones.txt” escribe antes del usuario y la contraseña la siguiente sentencia: open nombredemiservidor
reemplaza obviamente nombredemiservidor con la direccion de tu FTPserver y con eso abres la conexión

Gracias por la observacion


 
Fernando
Ene 13, 2010 at 10:29 AM

Hola buenas,
mi pregunta es la siguiente:
¿Como puedo descargar un archivo desde mi servidor ftp a mi ordenador?
gracias


 

Reply

Copyright © 2010 Bitácora de un Asesor Raul Rojas All rights reserved. Theme by Laptop Geek.