我有一个启动服务,它使用挂载在 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
保存它,下次重新启动时就可以了。
您可以对任何服务/挂载点组合执行此操作。