Jak ustawić usługę, aby uruchamiała się po uruchomieniu autofs z systememd

9

Muszę skonfigurować serwer licencji na maszynie RHEL7 z systememd. Serwer licencji powinien uruchomić się podczas rozruchu i załadować plik licencji z udostępnionego dysku w sieci. Muszę więc poczekać na uruchomienie sieci i autofs na zakończenie montowania dysków NFS. Mam ten plik usługi:

[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

Usługa uruchamia się po uruchomieniu autofs, ale zanim autofs zainstaluje wszystkie dyski, więc nie można uruchomić serwera licencji.

RegedUser00x
źródło

Odpowiedzi:

9

Dodaj następujące

[Unit]
RequiresMountsFor=<path required>

Zapewni to dostęp do ścieżki przed uruchomieniem usługi, a także zainstaluje ją, jeśli jeszcze nie jest (chyba że nie określono inaczej). Sprawdź na swoich stronach podręcznika (man systemd.unit), czy opcja jest obsługiwana w twoim systemie, ponieważ mój jest dość krwawiący.

miguelbernadi
źródło
1
przepraszam za nekro, ale co jeśli to jest mount NFS i nfs jeszcze się nie zaczął? Edycja: odpowiadając na moje pytanie, właśnie sprawdziłem stronę podręczną RequMountsFor , więc wydaje się, że działa ona również z mountami nfs, o ile są one dobrze zdefiniowane w / etc / fstab bez 'noauto'
Normadize