我正在尝试编写一个service
依赖于远程systemd 服务的 systemd。是否有任何“标准”方式来完成像这样奇怪的事情?用例是一些需要远程端点在启动时准备好的遗留软件。
我知道我可以在服务中使用类似于wait-for-thisExecStartPre
的东西来检查/等待,直到某个特定的远程 TCP 端口可用(并且可能.socket
在远程上编写一个简单的单元)。但这似乎有点矫枉过正。systemd 本身是否有与另一个远程 systemd 通信的方法?
我正在尝试编写一个service
依赖于远程systemd 服务的 systemd。是否有任何“标准”方式来完成像这样奇怪的事情?用例是一些需要远程端点在启动时准备好的遗留软件。
我知道我可以在服务中使用类似于wait-for-thisExecStartPre
的东西来检查/等待,直到某个特定的远程 TCP 端口可用(并且可能.socket
在远程上编写一个简单的单元)。但这似乎有点矫枉过正。systemd 本身是否有与另一个远程 systemd 通信的方法?
如果远程 systemd 服务打开远程服务器中的某个端口,您可以检查该端口是否从本地 systemd 服务打开。使用 bash 你可以写类似
当然,您需要告诉 systemd 在网络启动之前不要启动此服务https://wiki.archlinux.org/index.php/Systemd#Running_services_after_the_network_is_up
也许
ExecStartPre=systemctl --host=service-user@remote-host start remote-service
可以在本地服务文件的 ExecStartPre 中使用类似的东西。