使用 Ansible 从服务列表中仅启动特定的 systemd 服务

2024-04-05

我有清单systemd服务定义为

vars:
  systemd_scripts: ['a.service', 'b.service', 'c.service']

现在我只想停下来a.service从上面的列表中。如何使用来实现这一点systemd https://docs.ansible.com/ansible/latest/collections/ansible/builtin/systemd_module.html_module?


你的问题非常模糊且不具体。但是,您的部分问题可以通过以下方法得到解答

- name: Loop over service list and stop one service
  systemd:
    name: "{{ item }}"
    state: stopped
  when:
    - systemd_scripts[item] == 'a.service'
  with_items: "{{ systemd_scripts }}"

您可能需要根据您的需要和所需的功能来扩展和更改它。

关于通过 Ansible 事实发现、启动和停止服务 (service_facts https://docs.ansible.com/ansible/latest/collections/ansible/builtin/service_facts_module.html) and systemd你可以看看

进一步阅读

  • Ansible:如何禁用但正在运行的服务? https://stackoverflow.com/a/70376280/6771046
  • 如何声明变量service_facts https://stackoverflow.com/a/69476972/6771046?
  • 如何使用检查服务是否存在并且未安装在服务器中service_factsAnsible 剧本中的模块? https://stackoverflow.com/a/69773111/6771046
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Ansible 从服务列表中仅启动特定的 systemd 服务 的相关文章

随机推荐