谜题:在两个服务器之间传输文件(ssh、ftp、http 多部分...)

谜题:在两个服务器之间传输文件(ssh、ftp、http 多部分...)

一个难题:SCP实时上传到SERVER1的文件需要传输到SERVER2。

但:

  • SERVER1 实际上没有网络访问 SERVER2 (NAT);但是 SERVER2 可以通过 SSH 访问 SERVER1
  • SERVER1 和 SERVER2 都运行 Linux
  • SERVER2有FTP服务器运行,可以运行HTTP服务器来接收文件
  • SERVER2 上的 SFTP 服务器不是一个选项
  • 成功传输后,传输到 SERVER2 的文件需要从 SERVER1 中删除

优先选择在 SERVER2 上使用正在运行的 FTP 服务器。

关于将文件从 SERVER1 传输到 SERVER2 的简单方法有什么想法吗?

排除了通过反向 SSH 隧道进行 FTP 的可能性; curl 可能会在 SERVER2 上运行 HTTP 服务器的反向 SSH 隧道上工作,但它需要 HTTP 服务器,这需要更多工作。

答案1

您可以通过 ssh 运行 rsync。设置 ssh 密钥,以便您可以非交互方式进行操作(即避免使用密码)。使用 cron 来安排它。

看看这篇文章。 http://www.askapache.com/security/mirror-using-rsync-ssh.html

答案2

如果您可以通过 SSH 从 server2 访问 server1,则将它们从 server1 传送到 server2 似乎是最简单的方法。或者,您可以在 server1 上设置文件服务机制,例如 FTP 或 HTTP(S) 服务器,并在 server2 上使用curl 等以这种方式传输它们。

相关内容