我的应用程序由haproxy单元和app本身的5个单元( app @1、app@2等)组成。
我有一个bash脚本来重新启动
systemctl reload hapoxy
echo "disable server myapp/app-1" | socat stdio /var/run/haproxy-admin
systemctl restart 'app@1'
echo "enable server myapp/app-1" | socat stdio /var/run/haproxy-admin
echo "disable server myapp/app-2" | socat stdio /var/run/haproxy-admin
systemctl restart 'app@2'
echo "enable server myapp/app-2" | socat stdio /var/run/haproxy-admin
...
cache warm-up
other stuff但我想知道,是否有一种方法可以通过systemd重新启动?
我有带有这些单元的myapp.target和作为依赖项的have,但是目标文件没有重新启动命令。
发布于 2017-05-24 15:22:34
您可以使用PartOf=。来自man systemd.unit
PartOf=配置类似于Requires=的依赖项,但仅限于停止和重新启动单元。当systemd停止或重新启动此处列出的单元时,该操作将传播到此单元。请注意,这是一个单向依赖-更改此单位不影响列出的单位。
因此,您可以创建一个新的单元文件,然后将您想要重新启动的所有内容一起"PartOf=“这个新单元。然后,重新启动新的单元将重新启动您想要的一切。
本主题将在How to create a virtual systemd service to stop/start several instances together?中进行更多讨论。
https://stackoverflow.com/questions/44152774
复制相似问题