Cómo configurar un servicio para que se inicie después de que autofs haya iniciado con systemd

Cómo configurar un servicio para que se inicie después de que autofs haya iniciado con systemd

Tengo que configurar un servidor de licencias en una máquina RHEL7 con systemd. El servidor de licencias debe iniciarse al iniciar y cargar un archivo de licencia desde un disco compartido en la red. Entonces necesito esperar a que se inicie la red y a que autofs termine de montar los discos NFS. Tengo este archivo de servicio:

[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

El servicio se inicia después de que autofs se haya iniciado, pero antes de que autofs haya montado todos los discos, por lo que no se puede iniciar el servidor de licencias.

Respuesta1

Debes agregar lo siguiente

[Unit]
RequiresMountsFor=<path required>

Esto garantizará que se pueda acceder a la ruta antes de iniciar el servicio y también la montará si aún no lo está (a menos que no se haya especificado noauto). Consulte con sus páginas de manual (man systemd.unit) si la opción es compatible con su sistema, ya que la mía es bastante innovadora.

información relacionada