使用 sftp 而不挂载它

使用 sftp 而不挂载它

当我挂载 sftp/ftp 时,如果连接中断了一段时间,挂载就会“冻结”,并会冻结处理它的任何进程(编辑器、Nautilus、umount 等)。我甚至无法卸载文件夹。(我的系统是 Ubuntu 9.10)

为了避免这些冻结,如何在不挂载 sftp/ftp 文件夹的情况下编辑其中的文件?

更详细的解释:

我是一名网络程序员,需要在商业网络托管上编辑大量文件。我将 sftp 文件夹 sshfs(挂载)到 /media/project1 并在那里编辑文件。我们的公司局域网使用 ADSL,每半小时会短暂断开连接一次(我没有注意到,但我的 sshfs 注意到了)。断开连接后,网络浏览器可以正常工作,但 /media/project1 无法访问。此后,任何接触 /media/project1 的进程都将变得不可中断,因此 killall、kill -9 PID 在 5-15 分钟内不起作用。

发生这种情况时,我的编辑器会冻结,我无法编辑任何内容,也无法卸载文件夹。我可以运行编辑器的另一个实例,将 sftp 挂载到另一个文件夹中,但这很耗费人力和内存。

我将非常感激任何可以避免这种情况的想法。

答案1

您可以使用 sshfs 和 autossh 来创建重生 sshfs 挂载点。我自己还没有这样做过,但我打算这样做,而且在 google 搜索中很容易找到操作方法。

答案2

您可以考虑通过 ssh 连接进行工作,直接在目标服务器上进行编辑。

或者在本地复制文件,然后在适当更新后将其推回。

答案3

所有网络驱动器技术都存在您所遇到的问题;如果您打开驱动器上的文件,并且网络连接被切断,则任何尝试访问该驱动器的程序都会冻结。

更安全的方法是:

  1. 通过 scp/sftp 下载您需要编辑的文件并将其放在某个本地文件夹中。

  2. 在本地编辑文件。

  3. 通过scp/sftp将编辑后的文件上传回服务器。

另一种方法(扩展某件事沃伦提到,但这仅当您的编辑可以在终端内完成时才有效 - 不允许使用 GUI):

  1. ssh 到远程计算机。

  2. 跑步“屏幕”,以防止您的编辑受到断开连接的影响。

  3. 使用您喜欢的编辑器(vi/m、emacs、nano 等)编辑文件,或运行命令行工具进行多媒体处理。

  4. 如果断开连接,请重新连接 ssh 并运行“screen -D -R”以返回到上一个会话。

相关内容