因此,我创建了一个 systemd 安装单元来安装我的 NAS,效果很好。但是,当我知道 NAS 已打开并可用时,我不想自己启动和停止该服务。我希望我可以使用 PathExists 来检查我的计算机是否可以看到网络驱动器,<ip>:/mnt/dir
但这似乎不起作用。
有没有办法让 systemd 检查网络驱动器是否可用(然后随后运行启动安装单元)而无需我参与?
答案1
PathExists= 处理本地可见路径。如果不是已经安装在本地系统上,那么它就不存在。
问题在于,没有一个用于连接“网络驱动器”的“默认”协议 - 它可能是 NFSv3 或 NFSv4,可能是 SMBv1 或 SMBv3,甚至可能是 FTP 或 FTPS 或 SFTP 或 AFS 或 WebDAV - 并且内核和 systemd 都没有尝试“透明地”支持它们中的任何一个。
使用后台任务(例如 cronjob 或 .timer)定期使用其自己的方法检查 NAS 是否可用,并相应地启动/停止 .mount。