让这个任务第一次工作:
- name: Initialize the Database
command: /usr/pgsql-9.6/bin/postgresql96-setup initdb
第二次运行会报错:
致命:[192.168.0.1]:失败!=> {“更改”:true,“cmd”:[“/usr/pgsql-9.6/bin/postgresql96-setup”,“initdb”],“delta”:“0:00:00.017590”,“end”: “2019-12-11 06:08:49.999631”、“msg”:“非零返回码”、“rc”:1、“start”:“2019-12-11 06:08:49.982041”、“stderr” ":"", "stderr_lines": [], "stdout": "数据目录不为空!", "stdout_lines": ["数据目录不为空!"]}
如果它已经在服务器上初始化了数据库,如何避免运行此任务?
问:“ stdout:数据目录不为空! ”
答:18.2。创建数据库集群说:
要使命令具有幂等性,请使用参数created,例如
首先检查由 initdb 创建的文件/目录是否存在,如果不存在,则为 initdb。
https://docs.ansible.com/ansible/latest/user_guide/playbooks_conditionals.html