【问题标题】:can a systemd service depends on a remote systemd service on linux?systemd 服务可以依赖于 linux 上的远程 systemd 服务吗?
【发布时间】:2022-01-02 07:57:38
【问题描述】:

我有两个具有依赖关系的服务(一个主机中的服务 A 需要在另一台主机中的服务 B 之前启动)。任何人都可以帮助我吗?谢谢。

【问题讨论】:

  • 不,根据适用于 systemd 服务的定义/范围,您所描述的不被视为“依赖”的情况。你在说什么样的软件? service B 只是一个依赖于数据库服务器 A 之类的脚本吗?需要明确的是,Systemd 有许多不同的机制来实现你想要的结果,但是单元依赖系统并不适合。您可以使用哪种确切机制,完全取决于我们正在谈论的软件类型,它们是脚本/守护进程/..
  • 我添加了其他选项的答案。但是对于其他选项没有简单的答案。解释其他 3 个选项将是一篇很长的文章。例如,我在类似情况下使用 control-m,它的步骤是所有产品独有的,只有它的步骤需要 10-12 段和很多视觉效果。因此,您应该进一步搜索关键字。祝你好运!
  • 非常感谢@Raxi
  • 非常感谢@ust

标签: linux service systemd systemctl


【解决方案1】:

Host1 = 包括将首先启动的 ServiceA

Host2 = 包括 ServiceB,它将在 Host1 中的 ServiceA 之后启动

您可以以简单的方式构建如下内容:

  1. 在主机 1 中;启动ServiceA
  2. 编辑 ServiceA 的触发器(如果没有,添加一个或编辑服务程序)到 scprsyncftp 一个 控制文件 到 Host2。
  3. 在主机 2 中;添加一个脚本来检查文件是否到达该位置,如果文件到达则启动 ServiceB。 (您可以使用其中的输入来仔细检查它是否来自 Host1)
  4. 添加一个 cronjob 适合上述脚本的时间。

编辑: 其他选项:

  1. 如果您有工作流管理/编排服务器,您可以使用它。
  2. 使用 webhook
  3. 自动化解决方案,例如 Jenkins

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 2017-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多