一个难题: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 等以这种方式传输它们。