He visto el hilo del foro Linux para ejecutar el comando FTP de forma automática, mediante script, sin la intervención del usuario.
Quiero hacer lo mismo en Windows, en concreto Windows Server 2003, he seguido los pasos de ese hilo pero no me funciona ¿en Windows es diferente? ¿cómo se hace?
Publicado:
Jue Ago 21, 2008 6:34 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Ejecución FTP automático por script
Anuncios
varios escribió:
He visto el hilo del foro Linux para ejecutar el comando FTP de forma automática, mediante script, sin la intervención del usuario.
Quiero hacer lo mismo en Windows, en concreto Windows Server 2003, he seguido los pasos de ese hilo pero no me funciona ¿en Windows es diferente? ¿cómo se hace?
En Windows es parecido pero varía un poco. A continuación te explicamos cómo hacerlo:
1. Crea un fichero con los comandos FTP para conectarte al servidor, identificante con usuario y contraseña, acceder a la carpeta a transferir, transferir los ficheros y cerrar. Puede ser algo así:
Código:
open ftp.ajpdsoft.com
user
nombre_usuario
contraseña_usuario
lcd /web
mput *
bye
Guarda este contenido en un fichero y nómbralo como quieras, por ejemplo ftp.in.
2. Crea un fichero de proceso por lotes .bat, con el siguiente contenido:
Código:
ftp -n -s:ftp.in
Y lo programas con el programador de tareas, si quieres, para que se ejecute los días que quieras a la hora que quieras.
Varias aclaraciones:
* Como puedes observar no es igual a Linux, por ejemplo en el fichero de script ftp.in, el comando "user" en Windows se le pasa en dos líneas nombre de usuario y contraseña, mientras que en Linux se le pasa en la misma línea. También es diferente el comando ftp, aquí no se le pasa el fichero ftp.in con un "<", sino que se utiliza el parámetro "-s".
* En el comando ftp -n -s:ftp.in estamos indicándole varias cosas:
-- Con "-n" indicamos que si el servidor FTP tiene activado el inicio de sesión automático no lo utilice, pues le estamos pasando el usuario y la contraseña en el script.
-- Con "-s:ftp.in" indicamos que ejecute la secuencia de comandos FTP que hayamos introducido en el fichero "ftp.in".
De esta forma el proceso de transferencia de ficheros mediante FTP será automático y totalmente transparente para el usuario.
Publicado:
Jue Ago 21, 2008 6:42 am
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: Re: Ejecución FTP automático por script
Anuncios
alonsojpd escribió:
En Windows es parecido pero varía un poco. A continuación te explicamos cómo hacerlo:
1. Crea un fichero con los comandos FTP para conectarte al servidor, identificante con usuario y contraseña, acceder a la carpeta a transferir, transferir los ficheros y cerrar. Puede ser algo así:
Código:
open ftp.ajpdsoft.com
user
nombre_usuario
contraseña_usuario
lcd /web
mput *
bye
Guarda este contenido en un fichero y nómbralo como quieras, por ejemplo ftp.in.
2. Crea un fichero de proceso por lotes .bat, con el siguiente contenido:
Código:
ftp -n -s:ftp.in
Y lo programas con el programador de tareas, si quieres, para que se ejecute los días que quieras a la hora que quieras.
Varias aclaraciones:
* Como puedes observar no es igual a Linux, por ejemplo en el fichero de script ftp.in, el comando "user" en Windows se le pasa en dos líneas nombre de usuario y contraseña, mientras que en Linux se le pasa en la misma línea. También es diferente el comando ftp, aquí no se le pasa el fichero ftp.in con un "<", sino que se utiliza el parámetro "-s".
* En el comando ftp -n -s:ftp.in estamos indicándole varias cosas:
-- Con "-n" indicamos que si el servidor FTP tiene activado el inicio de sesión automático no lo utilice, pues le estamos pasando el usuario y la contraseña en el script.
-- Con "-s:ftp.in" indicamos que ejecute la secuencia de comandos FTP que hayamos introducido en el fichero "ftp.in".
De esta forma el proceso de transferencia de ficheros mediante FTP será automático y totalmente transparente para el usuario.
He hecho lo que me comentas pero me ocurre una cosa curiosa, cuando ejecuto el fichero .bat me aparece la ventana de MS-DOS y no se cierra nunca, aparece en esta ventana el comando que ejecuto ftp -n -s:ftp.in repetidamente, tengo que detenerlo manualmente para que finalice y la transferencia no se realiza nunca.
¿qué puede estar pasando? ¿lo que has comentado vale para Windows Server 2003?
Publicado:
Jue Ago 21, 2008 6:49 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Ejecución FTP automático por script
Anuncios
varios escribió:
He hecho lo que me comentas pero me ocurre una cosa curiosa, cuando ejecuto el fichero .bat me aparece la ventana de MS-DOS y no se cierra nunca, aparece en esta ventana el comando que ejecuto ftp -n -s:ftp.in repetidamente, tengo que detenerlo manualmente para que finalice y la transferencia no se realiza nunca.
¿qué puede estar pasando? ¿lo que has comentado vale para Windows Server 2003?
Sirve para cualquier versión de Windows, debería funcionarte bien. Lo hemos probado en nuestro laboratorio y va perfectamente.
¿Qué nombre le has dado al fichero de proceso por lotes .bat?
Publicado:
Jue Ago 21, 2008 6:51 am
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: Re: Ejecución FTP automático por script
Anuncios
alonsojpd escribió:
Sirve para cualquier versión de Windows, debería funcionarte bien. Lo hemos probado en nuestro laboratorio y va perfectamente.
¿Qué nombre le has dado al fichero de proceso por lotes .bat?
Lo he llamado "ftp.bat" y el script de entrada lo he llamado "ftp.in", como tú me has indicado.
Publicado:
Jue Ago 21, 2008 6:52 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Ejecución FTP automático por script
Anuncios
varios escribió:
Lo he llamado "ftp.bat" y el script de entrada lo he llamado "ftp.in", como tú me has indicado.
Ok, pues ahí está el problema, al nombrar el fichero .bat igual que el comando "ftp" cuando lo ejecutas el sistema operativo "se hace un lío". No debes nombrar los ficheros de proceso por lotes igual que los comandos de Windows, llámalo, por ejemplo, ftp_copia.bat. Prueba esto y nos cuentas.
Publicado:
Jue Ago 21, 2008 6:54 am
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: Re: Ejecución FTP automático por script
Anuncios
alonsojpd escribió:
Ok, pues ahí está el problema, al nombrar el fichero .bat igual que el comando "ftp" cuando lo ejecutas el sistema operativo "se hace un lío". No debes nombrar los ficheros de proceso por lotes igual que los comandos de Windows, llámalo, por ejemplo, ftp_copia.bat. Prueba esto y nos cuentas.
Cierto, ha sido un fallo técnico, he renombrado el fichero de proceso por lotes y ya funciona perfectamente.
¡¡Muchas gracias!!
Publicado:
Jue Ago 21, 2008 6:56 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Ejecución FTP automático por script
Anuncios
alonsojpd escribió:
En Windows es parecido pero varía un poco. A continuación te explicamos cómo hacerlo:
1. Crea un fichero con los comandos FTP para conectarte al servidor, identificante con usuario y contraseña, acceder a la carpeta a transferir, transferir los ficheros y cerrar. Puede ser algo así:
Código:
open ftp.ajpdsoft.com
user
nombre_usuario
contraseña_usuario
lcd /web
mput *
bye
El script anterior se puede mejorar añadiendo "cd ..." para acceder a la carpeta remota que deseemos antes de realizar la transferencia y añadiendo "verbose off" para que no muestre lo que va haciendo (a veces no es conveniente):
Código:
verbose off
open ftp.ajpdsoft.com
user
nombre_usuario
contraseña_usuario
cd /copia_seguridad/web
lcd /web
mput *
bye
Además, también se puede mejorar el comando FTP utilizado añadiendo el parámetro -i para que no pida confirmación en caso de transferencia de múltiples ficheros:
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A