Configuración para automatizar transferencia de archivos de cliente ftp Linux hacia FTP Server IIS 7 Win2008 R2

En es post voya aconfigurar un cliente ftp en linux Centos 5.5 hacia un windows 2008 R2.

La ídea es que podamos copiar archivos de Linux a Windows sin la necesidad de estar metiendo tanto código.

Nota: Ip Servidor Windows 2008:       192.168.0.217

Configurar Ftp IIS 7.0 Win 2008

Instalar según estas instrucciones: Crear un Site FTP en Windows 2008 R2

Configuracion del ftp en Linux

Linux por defecto ya viene instalado con un cliente ftp, el cual empleareamos para enviar información a nuestro  servidor ftp de Windows.

Paso 1: Primero probemos que podemos conectarnos a al servidor windows

[root@servidor_cms ~]# ftp 192.168.0.1
Connected to 192.168.0.217.
220 Microsoft FTP Service
504 Security mechanism not implemented.
504 Security mechanism not implemented.
KERBEROS_V4 rejected as an authentication type
Name (192.168.0.217:root): anonymous
331 Anonymous access allowed, send identity (e-mail name) as password.
Password:
230 User logged in.
Remote system type is Windows_NT.

El colo rojo que he puesto es para que estees atento pues te pedirá un nombre usuario, el cual podras “anonymous” y como password no le pongas nada solo <enter>

Si te sale el mensaje “230 User logged in.” color verde, entonces quiere decir que ya te conectaste!!

Paso 2: vamos a probar copiar un archivo desde la consola

Yo tengo un archivo “archiv_texto.txt” en la carpeta donde estoy ahora, y ese archivo deseo subirlo a mi servidor FTP

Ejecutamos el siguiente comando:

ftp> put archivo_texto.txt

 

Como vemos el archivo ha sido transferido!!! Ahora lo que queda es automatizar esta tarea.

Para salir del ftp poner “bye”

Paso 3.- Automatizacion de la transferencia de archivos

Bien, para automatizar lo que tenemos que hacer utilizar el archivo .netrc

netrc es un fichero que debe estar hubicado en $HOME/.netrc y es muy importante que tenga permisos 600 de lo contrario no funcionará.

En mi caso yo estoy en el sistema como root, por lo tanto, su home es la carpeta /root dentro del sistema, por lo que voya a crear el archivo .netrc dentro de esta carpeta

Editamos losiguiente:

Grabamos y Probamos

Para probar ponemos lo siguiente:

[root@mail ~]# ftp 192.168.0.217

Y debe loguearse sin pedir usuario y password!!

Copiar archivos de manera automatica

Para copiar archivos de manera automatica utilizamos una macro dentro del archivo .netrc, la macro se define con la variable “macdef

Como nombre de la macro se debe de poner “init

macdef init
put “voces.txt”
quit

Debería de quedar asi:

Grabamos y probamos de nuevo.

Nota: La declaracion del macro terminará cuando detecte una linea en blanco, asi que es importante darle al intro cuando editemos el fichero para dejar una linea en blanco al final de nuestro macro.

[root@mail ~]# ftp 192.168.0.217

Y deberá de copiar dicho archivo de manera automática

A Probar.

Martín Lugo

2 comments

  1. Enrique dice:

    ¿ Como hago para copiar un fichero cuyo nombre está en una variable puesto que se genera cada día dicho nombre con la fecha actual?

  2. Enrique dice:

    He probado a copiar con put “*.zip” y copia bien, pero si quiero copiar los .zip y los .dmp en la misma orden no lo consigo.
    Puedes ayudarme?

Agregue un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *