只要 Samba 共享可用,就挂载它,否则就卸载它

只要 Samba 共享可用,就挂载它,否则就卸载它

我正在尝试设置永久的 Samba 共享挂载。这并不难,使用这些说明。但我希望他们

  1. 每当我加入这些共享可用的网络时自动重新安装。
  2. 每当我离开网络时自动卸载(或使访问请求立即失败而不是挂起),即避免自动地。

谷歌搜索显示 AutoFS 可能会有所帮助。我猜它可以解决上述问题 1.,但我不确定 2.

关于自动 Samba 安装的其他问题,例如如何永久挂载 Samba 共享?,似乎没有解决自动重新安装/卸载问题,所以我认为这不是重复的。

谢谢。

答案1

使用 CIFS 安装 Samba 共享

编辑/etc/fstab文件以自动挂载您的 Samba 共享:

//<server>/<share> <mount point> cifs rw,_netdev,user=<username>,password=<password>,uid=<uid>,gid=<gid> 0 0

注意_netdev选项:

CIFS 不知道此选项并且会发出警告,但您应该保留它。

此选项可确保当您没有网络或处于错误的网络上时,驱动器不会被安装。

它还确保在切换网络时挂载/卸载共享。这是因为 Debian 的 if* 脚本会在网络配置发生变化时触发,它们会监视所有文件系统_netdev选项并自动做正确的事情。

来源

您可以查看man mount有关_netdev

安装 CIFS 工具

sudo apt-get install cifs-utils

答案2

编写脚本来挂载和卸载共享。

将它们分别放在“/etc/network/if-up.d”和“/etc/network/if-down.d”中。这些是网络连接建立或关闭时运行的脚本的位置。

然而,如果你正在寻找特定的服务器在线启动或关闭,我看到的唯一解决方案是计划任务定期检查服务器连接,保持状态并相应地运行脚本。

答案3

AutoFS 可以正常工作。当您访问共享时,它将自动挂载,如果断开则重新挂载,空闲时则卸载。当您注销并且您的进程全部终止(由于注销)时,挂载将在空闲一段时间后失效。您可以配置空闲时间。

请参阅此操作方法:http://www.howtoforge.com/accessing_windows_or_samba_shares_using_autofs

答案4

当您访问资源时,挂载将始终尝试重新连接。如果您是网络跳跃,则将取决于您是否有到主机的路由。但是,AutoFS 将继续尝试。您可以配置一些参数(超时、重试等)。

相关内容