这是一个混乱的情况,我可能(如允许)不解释为什么我需要这样做,但我确实需要它(如果可能的话)。
M1,M2和M3都是Linux。
我在世界的一侧有一台机器M1,它使用ssh连接到M2。在M2上执行的命令创建一个大的zip文件,必须FTP到M3。
要求文件必须在发送到M3之前从M2发送到M1。是的,如果我可以将它从M2转移到M3,它会更快更简单,但这不是一个选择。
是否可以设置一些允许将文件从M2复制到M1上的某个位置的内容,这样任何出现在那里的文件都会自动将FTPd直接发送到M3?
从M2到M3的传输可以是常规cp命令,因为M2上的位置是从M1可见的NFS安装点。除了通过FTP之外,无法访问M3。
我可以使用魔法ssh隧道咒语吗?或者还有其他建议吗?底线是命令源自M1,但传输必须从M1到M3。
答案 0 :(得分:0)
1)FTP处理文件和目录。 NFS导出文件和目录。
您的目标是弄清楚如何使用文件和目录。除非你绝对必须这样做,否则不要认为关于像“隧道”这样的废话。
2)尽可能启用NFS,并在不能使用NFS的地方使用ftp。我想使用载体鸽,量子文件传输或心灵感应,你不能使用FTP;)
3)用于协调多个远程主机之间的文件传输的一种常见的,简单的 - 低技术方法是创建和删除“标记文件”。您是否考虑过简单地轮询标记文件?
4)尝试在具有最佳连接性的主机上进行最多处理。例如,M2和M1?
答案 1 :(得分:0)
您可以使用inotify来触发ftp和cp。
检查https://github.com/seb-m/pyinotify以添加您的挂钩。