我正在尝试通过pg_dump备份Postgres DB,但这只能在服务运行时才能完成。
示例:
- 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
这将检查该服务(如果已定义),如何检查该服务是否正在运行?
答案 0 :(得分:2)
您正在调用的ansible_facts.services模块具有一个状态变量。你尝试过吗?
when: ansible_facts.services["postgresql.service"].state == started