So legen Sie fest, dass ein Dienst gestartet wird, nachdem autofs mit systemd gestartet wurde

So legen Sie fest, dass ein Dienst gestartet wird, nachdem autofs mit systemd gestartet wurde

Ich muss einen Lizenzserver auf einer RHEL7-Maschine mit systemd einrichten. Der Lizenzserver soll beim Booten starten und eine Lizenzdatei von einer freigegebenen Festplatte im Netzwerk laden. Ich muss also warten, bis das Netzwerk gestartet ist und autofs mit dem Mounten von NFS-Festplatten fertig ist. Ich habe diese Servicedatei:

[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

Der Dienst startet, nachdem Autofs gestartet wurde, aber bevor Autofs alle Festplatten gemountet hat, sodass der Lizenzserver nicht gestartet werden kann.

Antwort1

Sie sollten Folgendes hinzufügen

[Unit]
RequiresMountsFor=<path required>

Dadurch wird sichergestellt, dass der Pfad vor dem Starten des Dienstes zugänglich ist, und er wird auch gemountet, wenn er es noch nicht ist (es sei denn, es ist noauto angegeben). Überprüfen Sie auf Ihren Manpages (man systemd.unit), ob die Option in Ihrem System unterstützt wird, da meines ziemlich auf dem neuesten Stand ist.

verwandte Informationen