Tengo que crear un programa en C que se ejecuta en un servidor Linux. Se tomará la información de la base de datos de Oracle, crear un archivo local y, a continuación, copie el archivo a un servidor Windows. Sé cómo crear un archivo local en un servidor Linux. Pero ¿cuál es la forma de copiar a windows server y C?

InformationsquelleAutor | 2008-10-09

7 Comentarios

  1. 8

    Depende del tipo de conectividad entre los dos equipos y en el nivel de seguridad que se han de lograr.

    El escenario más sencillo sería de las dos de la máquina en la misma LAN y no particular de la seguridad. En este caso, una posible solución sería:

    • Samba : Compartir un directorio en el Triunfo de la máquina, instalar/configurar Samba en el cuadro de Linux. El programa de C va a ver el disco compartido como un disco local en una ruta específica (por ejemplo, /ganar/compartir).

    • NFS : Alternativamente, usted puede exportar un directorio en Linux usando NFS e instalar/configurar NFS producto en la Victoria de la máquina. Yo lo veo como una segunda opción, si Samba no puede ser utilizado por cualquier motivo (por ejemplo: seguridad/autenticación).

    • ftp : usted necesitará un servidor ftp en la máquina de Windows. También será más difícil para copiar el archivo a través de un programa en C. Si no me equivoco, el cliente ftp en Linux es interactivo y no está previsto para ser utilizado en una secuencia de comandos (o a través de otro programa), pero usted debe comprobar.

    • http : usted necesitará un servidor http en la máquina de Windows y una página que permitiría cargar (IIS además de alguna página asp, debería ser suficiente) y el uso libcurl diálogo con él.

    Escenario más complicado, cuando la seguridad es un concerm, requeriría el uso de scp o sftp sobre y conexión SSL. También la libcurl con https podría proporcionar una solución bastante buena.

    Mi consejo es: tratar de Samba primero y ver si cumple con su necesidad, todas las otras opciones se requiere más trabajo para el programador.

  2. 3

    Tal vez usted podría simplemente utilizar smbclient? No hay necesidad de instalación de los servidores ni nada, solo tiene una unidad compartida de algún tipo en el servidor.

    smbclient //myserver/my_directory <password> -U [domain/]<my_user>

    Entonces usted puede ‘poner’ y ‘get’ lo que los archivos que le gusta comprendido entre el directorio actual en el cuadro de linux y windows server.

    put my_file_to_copy.dat

    Eso es acerca de ella.

  3. 1

    Sí – sólo tiene que montar la caja de windows, usando cualquier sistema de ficheros de red que desee (por ejemplo, Samba) y copiar el archivo en el directorio normal IO primitivas.

    Marca

  4. 0

    O el uso de FTP. Hay un montón de FTP de las bibliotecas se puede conectar dentro de tu Linux de código C.

  5. 0

    La máquina de windows debe proporcionar un medio para aceptar este comportamiento primera (FTP viene a la mente). Usted puede desarrollar una aplicación para que se ejecute en una máquina windows para aceptar el archivo, pero más fácil es utilizar uno de los ya desarrollados.

    filezilla es un ejemplo.

    De la pregunta, cómo subir el archivo, cualquier cliente ftp que hacer el truco.

Dejar respuesta

Please enter your comment!
Please enter your name here