【问题标题】:How to find out if sshfs mounted directory is not disconnected?如何确定 sshfs 挂载的目录是否未断开连接?
【发布时间】:2016-03-25 15:14:59
【问题描述】:

我已经使用 SSHFS 远程挂载了一个文件系统到目录/mnt/sshfs

如果这个 SSHFS 挂载工作正常,或者是否存在 connection reset by peer 问题,我需要使用 shell 脚本查明。

如果我尝试访问处于“断开连接状态”的此类 SSHFS 文件系统,系统将冻结并等待直到最终超时。

我想避免这种情况。我需要知道 SSHFS 是否按预期工作,或者是否存在连接问题而没有冻结系统。

【问题讨论】:

    标签: linux connection-timeout sshfs


    【解决方案1】:

    我猜只是 grep 挂载命令?

    if (( $(mount | grep -e 'whatever you like'| wc -l) > 0 ));
    then     
    echo "mounted"; 
    fi
    

    【讨论】:

      【解决方案2】:

      据我所知,SSHFS 没有其他方法可以检查连接性,只能尝试访问文件并失败。

      您应该能够在挂载 SSHFS 时指定 SSH 选项,这些选项指定诸如 ServerAliveInterval 和 ServerAliveCountMax 之类的东西(请参阅man ssh_config),它们将“提前”终止您的 SSH 连接。如果您的 Internet 连接断开,请确保使用 TCPKeepAlive 终止连接。

      我想说的是解决知道连接状态问题的一个有趣的方法是扩展 sshfs(这并不是真正复杂的 FUSE 模块),并添加一个您可以查询的 ioctl找出一切是否正常,如果不是,则不阻塞。

      【讨论】:

      • 好吧,谢谢你的努力,坦率地说,我希望有一些更简单的解决方案:-(
      • 对不起,不能为你改变世界:(
      猜你喜欢
      • 2010-10-02
      • 1970-01-01
      • 2013-12-31
      • 2012-02-12
      • 1970-01-01
      • 1970-01-01
      • 2011-01-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多