首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何为2台或2台以上需要按特定顺序运行的服务器构建启动/关机脚本?

如何为2台或2台以上需要按特定顺序运行的服务器构建启动/关机脚本?
EN

Stack Overflow用户
提问于 2019-04-02 08:37:20
回答 1查看 34关注 0票数 -1

我设置了一个在两台服务器上运行的应用程序:

  • 服务器1包含主管理模块
  • 服务器2包含在启动管理模块并运行

后需要启动的其他模块

并创建了systemd文件,以便在重新启动后自动启动。

因此,服务器1具有类似以下内容:

admin.service

代码语言:javascript
复制
[Unit]
Description=Start Admin

[Service]
Type=simple
ExecStart=/home/usr/startup/startAdmin.sh
ExecStop=/home/usr/startup/stopAdmin.sh
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

服务器2有类似的东西:

other.service

代码语言:javascript
复制
[Unit]
Description=Start Others

[Service]
Type=simple
ExecStart=/home/usr/startup/startOther.sh
ExecStop=/home/usr/startup/stopOther.sh
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

如果admin.service已经启动,那么可以实施什么来确保other.service (在服务器2中)只启动?

EN

回答 1

Stack Overflow用户

发布于 2019-04-02 08:52:26

other.service中,您可以添加ExecStartPre ( man systemd.service )。语法与ExecStart相同。

或者,other.service可以依赖于检查服务check.service

在这两个命令中,命令将类似于:

代码语言:javascript
复制
while ( ! nc -w2 -z <ADMINIP> <ADMINPORT> >/dev/null 2>&1 ) ; do sleep 2 ; done
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55465366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档