如何设置服务在使用 systemd 启动 autofs 后启动

如何设置服务在使用 systemd 启动 autofs 后启动

我必须使用 systemd 在 RHEL7 计算机上设置许可证服务器。许可证服务器应在引导时启动并从网络上的共享磁盘加载许可证文件。所以我需要等待网络启动并等待 autofs 完成挂载 NFS 磁盘。我有这个服务文件:

[Unit]
Description=Flexnet license server
Wants=network.target network-online.target autofs.service
After=network.target network-online.target autofs.service

[Service]
Type=forking
User=licenseuser
Group=devusers
ExecStart=/soft/flexera/glnxa64/lmgrd -c /soft/licenses/license.dat -L /home/licenseuser/license.log

# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300

[Install]
WantedBy=multi-user.target

该服务在 autofs 启动之后但在 autofs 挂载所有磁盘之前启动,因此许可证服务器无法启动。

答案1

您应该添加以下内容

[Unit]
RequiresMountsFor=<path required>

这将确保在启动服务之前可以访问该路径,并且如果还没有的话,也会安装它(除非指定了 noauto)。检查您的联机帮助页(man systemd.unit),您的系统是否支持该选项,因为我的系统非常前沿。

相关内容