![只要 Samba 共享可用,就挂载它,否则就卸载它](https://linux22.com/image/1039493/%E5%8F%AA%E8%A6%81%20Samba%20%E5%85%B1%E4%BA%AB%E5%8F%AF%E7%94%A8%EF%BC%8C%E5%B0%B1%E6%8C%82%E8%BD%BD%E5%AE%83%EF%BC%8C%E5%90%A6%E5%88%99%E5%B0%B1%E5%8D%B8%E8%BD%BD%E5%AE%83.png)
我正在尝试设置永久的 Samba 共享挂载。这并不难,使用这些说明。但我希望他们
- 每当我加入这些共享可用的网络时自动重新安装。
- 每当我离开网络时自动卸载(或使访问请求立即失败而不是挂起),即避免这自动地。
谷歌搜索显示 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 将继续尝试。您可以配置一些参数(超时、重试等)。