有什么好办法可以禁用和停止服务,但前提是该服务必须安装在服务器上?像这样:
- service: name={{ item }} enabled=no state=stopped only_if_present=yes
with_items:
- avahi-daemon
- abrtd
- abrt-ccpp
Run Code Online (Sandbox Code Playgroud)
请注意,“ only_if_present”是Ansible中目前不存在的关键字,但是我想我的目标很明显。
我不知道您的情况下的软件包名称是什么,但是您可以执行以下操作:
- shell: dpkg-query -W 'avahi'
ignore_errors: True
register: is_avahi
when: ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu'
- shell: rpm -q 'avahi'
ignore_errors: True
register: is__avahi
when: ansible_distribution == 'CentOS' or ansible_distribution == 'Red Hat Enterprise Linux'
- service: name=avahi-daemon enabled=no state=stopped
when: is_avahi|failed
Run Code Online (Sandbox Code Playgroud)
更新:我添加了条件,以便当您有多个不同发行版时,该剧本都可以使用,您可能需要对其进行调整以适合您的要求。
归档时间: |
|
查看次数: |
3392 次 |
最近记录: |