So stellen Sie einen Dienst so ein, dass er gestartet wird, nachdem autofs mit systemd gestartet wurde

9

Ich muss einen Lizenzserver auf einem RHEL7-Computer mit systemd einrichten. Der Lizenzserver sollte beim Booten starten und eine Lizenzdatei von einer freigegebenen Festplatte im Netzwerk laden. Ich muss also warten, bis das Netzwerk gestartet ist und die automatische Installation der NFS-Festplatten abgeschlossen 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 wird gestartet, nachdem autofs gestartet wurde, aber bevor autofs alle Festplatten bereitgestellt hat, sodass der Lizenzserver nicht gestartet werden kann.

RegedUser00x
quelle

Antworten:

8

Sie sollten im Folgenden hinzufügen

[Unit]
RequiresMountsFor=<path required>

Dadurch wird sichergestellt, dass auf den Pfad zugegriffen werden kann, bevor der Dienst gestartet wird, und er wird auch bereitgestellt, wenn dies nicht bereits geschehen ist (es sei denn, es wurde noauto angegeben). Erkundigen Sie sich bei Ihren Manpages (man systemd.unit), ob die Option in Ihrem System unterstützt wird, da meine ziemlich aktuell ist.

Miguelbernadi
quelle
Entschuldigung für Necro, aber was ist, wenn dies ein NFS-Mount ist und NFS noch nicht gestartet wurde? Bearbeiten: Beantwortung meiner eigenen Frage, habe gerade die Manpage RequiresMountsFor überprüft , damit sie auch mit nfs-Mounts zu funktionieren scheint, solange sie in / etc / fstab ohne 'noauto' gut definiert sind
Normadize