【问题标题】:Transferring files from Linux server to Windows machine automatically [closed]自动将文件从 Linux 服务器传输到 Windows 机器[关闭]
【发布时间】:2014-01-27 20:45:00
【问题描述】:

我在我的 Linux 服务器中的 Tomcat 上部署了一个 java Web 应用程序。运行应用程序时,我需要将一堆文本文件(来自该服务器)自动复制到基于 Windows 的机器的目的地。有没有可用的图书馆?

【问题讨论】:

    标签: java linux file-transfer


    【解决方案1】:

    我不知道具体的库,但这看起来可以通过使用一些基于 NAS 或 SMB 的共享目录解决方案来解决。适合你吗?

    【讨论】:

    • 我查看了 SMB 共享选项,但对我来说不太可行,因为目的地是动态的。我浏览了 JSCH,有没有使用它的可能性?
    • 这取决于您的目的地的动态程度。您是否有一些应用程序正在侦听目标机器中的 SSH 通道?该应用程序是否能够从某个临时固定位置(无论是 SMB 共享目录,还是数据库中的 CLOB 等)读取数据,然后将其写入需要的位置?
    • 如果你知道把数据放在哪里,你的目标机器上的 FTP 服务器会像 The Thom 建议的那样简单得多
    • 不,我不能在该目的地有任何其他应用程序。我所拥有的只是访问凭据。
    • 那么您的应用程序必须事先以某种方式被告知将文件存放在何处(通过 FTP、SMB 目录等),否则您将无法传输文件...很抱歉我帮不上忙:(
    【解决方案2】:

    FTP 将是经典的解决方案。这是通过公共网络还是专用网络?如果是公开的,您可能希望查看许多可用的安全 FTP 解决方案之一。

    【讨论】:

    • 出于明显的安全原因,FTP 不是一个好的解决方案。
    • @KarlP 正如我所指出的,如果通过公共网络,用户应该找到一个安全的 FTP 库,其中有几个我见过。
    【解决方案3】:

    假设您要复制到的 Windows 服务器上的文件夹已设置为共享,并且您有凭据,并且 Windows 计算机上没有其他可用于文件复制的服务(例如 ftp , ssh, http, https 等) - 做你想做的最好的方法可能是在 Linux 机器上设置一个 samba 客户端 (smbclient),它将共享文件夹安装在你想要复制到的 Windows 服务器上。

    【讨论】:

      【解决方案4】:

      无处不在的安全外壳协议 SSH 包括 SCP——“安全复制”——它可以用来复制文件也许不足为奇。 (还有 SFTP,但它更适合用户交互。)

      SSH 和 SCP 是比 FTP 更好的解决方案。

      SSH library for Java

      有几个可用于 Windows 的 ssh 服务器:我知道两个:PowerShell 服务器或 cygwin sshd。

      Cygwin 是开源免费的,sshd 是基于 openssh 的。 (我认为。)

      【讨论】:

        猜你喜欢
        • 2012-12-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-22
        • 2011-10-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多