如何让启动服务等到远程驱动器可用?

如何让启动服务等到远程驱动器可用?

我有一个启动服务,它使用挂载在 nfs 共享上的数据。如果我同时启动 2 台机器,nfs 共享在服务启动时不可用,并且会变得混乱。我只想暂停 init.d 中的启动脚本,等待共享可用。有人这样做过吗?

答案1

好的,首先你需要在启动时禁用该脚本

 sudo update-rc.d foobar remove

然后再次添加为

 sudo update-rc.d foobar defaults 99

代替福巴与您的实际脚本。

将脚本设置为默认值 99 将使其成为最后一项操作,这样就应该给它足够的时间让共享变得可用。

答案2

我知道这有点旧了,但是因为我在寻找时发现了它,也许其他人也会发现。

如果您正在寻找 systemd 的解决方案,那么我按照以下方法让 dovecot 等待 nfs 挂载 /home 后再启动。

systemctl edit dovecot.service

[Unit]
RequiresMountsFor=/home

保存它,下次重新启动时就可以了。

您可以对任何服务/挂载点组合执行此操作。

相关内容