Как запустить задачу в ansible только при запуске определенной службы? - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь сделать резервную копию Postgres БД с помощью pg_dump, но это можно сделать, только если служба запущена.

Пример:

    - name: Backup DB to Amazon S3
      when: ansible_facts.services["postgresql.service"] is defined
      become: no
      shell: pg_dump -U postgres -d my_db -Z 9  | aws s3 cp --storage-class STANDARD_IA --sse aws:kms - s3://my_bucket/{{inventory_hostname}}/dump-`date +%Y-%m-%d-%H-%M-%S`.sql.gz

Эта проверка этой службы если определено, как проверить, работает ли служба?

1 Ответ

2 голосов
/ 20 апреля 2020

Модуль ansible_facts.services, который вы вызываете, имеет переменную состояния. Вы пробовали это?

when: ansible_facts.services["postgresql.service"].state == started
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...