Я хотел бы написать условие, используя функцию оболочки Ansible - PullRequest
0 голосов
/ 10 июля 2020

Если Nginx остановлен, то напечатайте «Nginx остановлен, исправление выполняется» . Как написать условие, что Nginx остановился, Nginx==0?

---
- hosts: backend
  become: true
  become_user: root
  become_method: sudo

  tasks: 
  - name: Patching the back-end servers 
    shell: if nginx == 0 echo "patching has started" fi

1 Ответ

1 голос
/ 10 июля 2020

Вы должны использовать when conditionnal для этого:

---
- hosts: backend
  become: true
  become_user: root
  become_method: sudo

  tasks: 
    - name: Patching the back-end servers 
      shell: echo "patching has started"
      when: nginx == 0 

Если вы также ищете сам статус услуги, тогда вы ищите service_facts:

---
- hosts: backend
  become: true
  become_user: root
  become_method: sudo

  tasks: 
    - name: Populate service facts
      service_facts:

    - name: Patching the back-end servers 
      shell: echo "patching has started"
      when: "services_state.ansible_facts.services['ngnix'].state == 'stopped'"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...