Comment faire pour copier des fichiers de linux vers windows server à l'aide de c
Je dois créer un programme en C qui va s'exécuter sur serveur Linux. Il va prendre les informations de base de données Oracle, créez un fichier local et ensuite copier ce fichier sur Windows server. Je sais comment créer un fichier local sur serveur Linux. Mais qu'est-ce que la façon de le copier dans windows server à partir de C?
Vous devez vous connecter pour publier un commentaire.
Mont Partage Windows en premier et ensuite créer le fichier dans le répertoire monté.
Cela dépend du type de connectivty entre les deux machines et sur le niveau de sécurité que vous avez à accomplir.
Le scénario le plus simple serait avec les deux machines sur le même réseau local et pas de sécurité particulière. Dans ce cas, une solution possible serait:
Samba : Partager un répertoire sur la Victoire de la machine, installer/configurer Samba sous Linux. Le programme C verrez le disque partagé comme un disque local en vertu d'un chemin d'accès spécifique (par exemple, /gagner/action).
NFS : Alternativement, vous pouvez exporter un répertoire sous Linux à l'aide de NFS et installer/configurer NFS produit sur la Victoire de la machine. Je vois cela comme une deuxième option, si Samba ne peut pas être utilisé pour une raison quelconque (par exemple, sécurité/d'authentification).
ftp : vous aurez besoin d'un serveur ftp sur la machine Windows. Il sera aussi plus difficile à copier le fichier via un programme C. Si je ne me trompe pas, le client ftp Linux est interactif et il n'est pas censé être utilisé dans un script (ou par un autre programme), mais vous devriez vérifier.
http : vous aurez besoin d'un serveur http sur la machine Windows, et une page qui permettrait de téléchargement IIS (plus quelques page asp, devrait suffire) et l'utilisation libcurl de dialogue avec elle.
Plus compliqué scénario lorsque la sécurité est un concerm, nécessiterait l'utilisation de scp ou sftp sur et la connexion SSL. Aussi la libcurl avec https pourrait fournir une assez bonne solution.
Mon conseil: essayez de Samba d'abord et voir si répond à vos besoins, toutes les autres options ne nécessitent plus de travail pour vous en tant que programmeur.
Peut-être vous pouvez simplement utiliser smbclient? Pas besoin de configurer les serveurs ou quoi que ce soit, il suffit d'avoir un lecteur partagé de quelque sorte sur le serveur.
Alors vous pouvez simplement " put " et " get " quel que soit les fichiers que vous aimez entre le répertoire courant sur la machine linux et windows server.
Thats à son sujet.
Hé oui, il suffit de monter la boîte de windows à l'aide quel que soit le système de fichier réseau que vous souhaitez (par exemple, Samba) et copiez le fichier dans ce répertoire en utilisant la normale IO primitives.
Marque
Ou utiliser le FTP. Il y a beaucoup de FTP bibliothèques que vous pouvez lien dans votre Linux code C.
La machine windows devrait fournir un moyen d'accepter ces comportements première (FTP vient à l'esprit). Vous pouvez développer une application pour l'exécuter sur la machine windows pour accepter le fichier, mais le plus facile est d'utiliser l'un de la déjà développés.
filezilla en est un exemple.
Pour la question, comment faire pour télécharger le fichier, n'importe quel client ftp ferait l'affaire.
Comment sur l'utilisation de SMTP et envoyé par la poste?