0

这是一个混乱的情况,我可能(在允许的情况下)不解释为什么我需要这样做,但我确实需要它(如果可能的话)。

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。

4

2 回答 2

0

您可以使用 inotify 来触发 ftp 和 cp。

检查https://github.com/seb-m/pyinotify添加你的钩子。

于 2012-04-29T19:42:17.053 回答
0

1) FTP 处理文件和目录。NFS 导出文件和目录。

您的目标是弄清楚如何使用文件和目录。甚至不要想像“隧道”这样的废话,除非你绝对必须这样做。

2) 尽可能启用 NFS,在不能使用 NFS 的地方使用 ftp。我想在不能使用 FTP 的地方使用信鸽、量子文件传输或心灵感应;)

3) 一种用于协调多个远程主机之间的文件传输的常见、简单、技术含量低的方法是创建和删除“标记文件”。您是否考虑过简单地轮询标记文件?

4) 尝试在具有最佳连接性的主机上进行最多处理。例如,M2 和 M1?

于 2012-04-17T19:36:19.763 回答