【问题标题】:Start a service at startup with Ansible使用 Ansible 在启动时启动服务
【发布时间】:2022-01-11 18:26:42
【问题描述】:

我来自 Docker 方面。管理“服务”相当简单。 1 个“服务”= 1 个容器。使用 Ansible 可以轻松确保服务在启动时运行。

但在基于 Debian/Ubuntu 的 Linux 机器上管理服务时,我知道有 systemd。但是我找不到合适的 Ansible 模块来定义服务并确保它们在启动时运行。我怎样才能做到这一点?

【问题讨论】:

    标签: ubuntu ansible debian systemd


    【解决方案1】:

    您的问题非常模糊,没有提供太多信息。但是,关于

    ...我找不到合适的 Ansible 模块来定义服务...

    您可以查看systemd_module 的文档。

    ...确保它们在启动时运行...

    你可以使用类似的东西

    - name: Make sure {{ SERVICE }} is started and enabled
      systemd:
        name: "{{ SERVICE }}"
        state: started
        enabled: enabled
    

    为了能够通过systemd_module 启动和启用“服务”,您只需要一个 systemd 服务文件。

    更多文档

    创建和管理简单服务的一个例子是

    【讨论】:

    • 我已经看到了这些模块,我无法用它们创建新服务。我只能管理现有的。
    • @shellwhale,你能提供一个最小的例子吗?创建新的“服务”是什么意思?或者更详细地描述你的问题?
    • 我只是想在启动时运行一个二进制文件。更精确地同步docs.syncthing.net/users/autostart.html#linux
    • @shellwhale,我明白了,它与已经提供的 node_exporter 示例非常相似。您提到的 syncthing 文档中包含了提供“服务”所需的所有信息。
    • 我明白了,谢谢。我期待一个模块添加新单元,但看起来复制一个文件就足够了。
    猜你喜欢
    • 2021-01-08
    • 1970-01-01
    • 1970-01-01
    • 2011-12-03
    • 1970-01-01
    • 2018-09-20
    • 2018-04-02
    • 2016-09-08
    相关资源
    最近更新 更多