Je travaille sur un script systemd
.service
qui est supposé démarrer après qu'un location réseau CIFS est monté via /etc/fstab
à /mnt/
au démarrage.
Le script attend qu'un script de dépendance OpenVPN soit lancé en premier, mais je souhaite aussi qu'il attende que le assembly soit terminé.
/etc/systemd/system/my-daemon.service :
[Unit] Description=Launch My Daemon After=network.target vpn-launch.service Requires=vpn-launch.service
Je suis désolé si cette question est sortingviale – j'ai cherché en ligne et j'ai essayé d'append systemd.mount
à la ligne: After=network.target vpn-launch.service systemd.mount
, mais il n'a pas donné les résultats que j'espérais .
un location réseau CIFS est monté via
/etc/fstab
vers/mnt/
au démarrage.
Non, ce n'est pas le cas. Obtenez cela, et le rest se met en place naturellement.
Le assembly est géré par une unité de assembly systemd (générée) qui s'appellera quelque chose comme mnt-wibble.mount
. Vous pouvez voir son nom réel dans la sortie de la command systemctl
. Vous pouvez le regarder en détail comme n'importe quelle autre unité avec le systemctl status
.
Très simplement, alors: vous devez order votre unité à démarrer après le démarrage de cette unité de assembly.
Après = network.target vpn-launch.service mnt-wibble.mount
Désolé mais je ne peux pas encore commenter.
Comme l'a dit JdeBP, vous devriez order sur le système de files. Vous pouvez prédire le nom de l'unité de assembly ou, alternativement, vous pouvez utiliser (dans la section d'unité):
RequiresMountsFor = / absolute / path / of / mount
Cette option crée les dependencies vers les unités * .mount appropriées pour rendre le path accessible avant de démarrer le service. Il peut ne pas être sur toutes les versions de systemd, mais je l'ai utilisé dans une machine CentOS 7 pour les 6 derniers mois ou plus.