Envía o recibe archivos automáticamente a servidores FTP
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
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
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
![[Ask]](http://bitacora.asesorensistemas.com/wp-content/plugins/bookmarkify/ask.png)
![[del.icio.us]](http://bitacora.asesorensistemas.com/wp-content/plugins/bookmarkify/delicious.png)
![[Digg]](http://bitacora.asesorensistemas.com/wp-content/plugins/bookmarkify/digg.png)
![[Facebook]](http://bitacora.asesorensistemas.com/wp-content/plugins/bookmarkify/facebook.png)
![[Google]](http://bitacora.asesorensistemas.com/wp-content/plugins/bookmarkify/google.png)
![[LinkedIn]](http://bitacora.asesorensistemas.com/wp-content/plugins/bookmarkify/linkedin.png)
![[MySpace]](http://bitacora.asesorensistemas.com/wp-content/plugins/bookmarkify/myspace.png)
![[Rojo]](http://bitacora.asesorensistemas.com/wp-content/plugins/bookmarkify/rojo.png)
![[Squidoo]](http://bitacora.asesorensistemas.com/wp-content/plugins/bookmarkify/squidoo.png)
![[Technorati]](http://bitacora.asesorensistemas.com/wp-content/plugins/bookmarkify/technorati.png)
![[Twitter]](http://bitacora.asesorensistemas.com/wp-content/plugins/bookmarkify/twitter.png)
![[Windows Live]](http://bitacora.asesorensistemas.com/wp-content/plugins/bookmarkify/windowslive.png)
![[Yahoo!]](http://bitacora.asesorensistemas.com/wp-content/plugins/bookmarkify/yahoo.png)
![[Email]](http://bitacora.asesorensistemas.com/wp-content/plugins/bookmarkify/email.png)

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
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
Hola buenas,
mi pregunta es la siguiente:
¿Como puedo descargar un archivo desde mi servidor ftp a mi ordenador?
gracias