如何从linux下用C复制文件到Windows Server(How to copy file fr

2019-09-26 14:13发布

我必须创建一个将Linux服务器上运行的C程序。 这将需要的信息从Oracle数据库中,创建一个本地文件,然后将该文件复制到Windows服务器。 我知道如何创建Linux服务器上的本地文件。 但是,什么是它由C复制到Windows Server的方式吗?

Answer 1:

安装Windows共享,然后再创建在安装目录中的文件。



Answer 2:

这取决于两台机器之间和你要达到的安全水平connectivty的类型。

最简单的情形是与这两个机器在同一个局域网上,并没有特别的安全性。 在这种情况下可能的解决办法是:

  • 桑巴 :分享胜利的机器上的一个目录,安装/在Linux中配置Samba。 C程序将看到共享磁盘作为下一个特定的路径(例如/ WIN /股)本地磁盘。

  • NFS:您也可以在Linux上使用NFS导出目录和安装/ WIN的机器上配置NFS的产品。 我认为这是第二选择,如果桑巴不能被用于任何原因(例如安全/认证)。

  • FTP:您需要在Windows机器上的FTP服务器。 这也将是棘手通过一个C程序文件复制。 如果我没有记错的Linux FTP客户端是交互式的,它不应该在脚本中使用(或通过其他程序),但你应该检查。

  • HTTP:你需要在Windows机器上的HTTP服务器和网页,将允许上传(IIS加上一些ASP页面,就足够了),并且使用的libcurl来对话吧。

更复杂的情况时,安全性是一个concerm,将需要使用SCP或SFTP过去,SSL连接。 还以https的libcurl的可以提供足够好的解决方案。

我的建议是:首先尝试桑巴,看是否满足您的需要,所有其他选项将需要更多的工作,你作为一个程序员。



Answer 3:

也许你可以简单地使用smbclient的? 无需安装任何服务器或什么,只是有某种服务器上的共享驱动器。

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

然后,你可以“放”和“得到”文件为准您喜欢悫在Linux中的当前目录和Windows服务器。

put my_file_to_copy.dat

仅此而已。



Answer 4:

是的 - 只要安装使用任何你想要的网络文件系统(例如桑巴)和文件复制到使用正常的IO原语目录窗户框。

标记



Answer 5:

或者使用FTP。 有很多,你可以链接到你的Linux C代码FTP库。



Answer 6:

在Windows机器应该提供一个均值先接受这种行为(FTP想到)。 你可以开发一个应用程序到Windows机器上运行,以接受该文件,但更简单的就是使用已经开发的一个。

FileZilla的就是一个例子。

对于实际问题,如何上传文件,任何FTP客户端会做的伎俩。



Answer 7:

如何使用SMTP和邮寄呢?



文章来源: How to copy file from linux to windows server using c