0
我正在爲健康檢查目的設置一個可靠的腳本。在Mongo DB CLI中使用Ansible發送命令
我想在登錄到mongo db admin cli後運行rs.status()
命令。
---
- name: Perform Health Checks.
hosts: mongodb
tasks:
- name: Check MongoDB nodes.
shell: mongo admin -u root -p root ; rs.status()
register: output
- debug: msg={{ output.stdout_lines }}
命令rs.status()
只能在mongodb管理控制檯中運行一次。
但使用shell
模塊運行上述劇本給了我一個錯誤。
TASK [Check MongoDB nodes.] **************************************************
fatal: [172.29.219.107]: FAILED! => {"changed": true, "cmd": "mongo admin -u root -p root ; rs.status()", "delta": "0:00:00.002825", "end": "2017-03-27 13:26:45.211397", "failed": true, "rc": 1, "start": "2017-03-27 13:26:45.208572", "stderr": "/bin/sh: -c: line 1: syntax error: unexpected end of file", "stdout": "", "stdout_lines": [], "warnings": []}
fatal: [172.29.219.106]: FAILED! => {"changed": true, "cmd": "mongo admin -u root -p root ; rs.status()", "delta": "0:00:00.002906", "end": "2017-03-27 13:26:47.486562", "failed": true, "rc": 1, "start": "2017-03-27 13:26:47.483656", "stderr": "/bin/sh: -c: line 1: syntax error: unexpected end of file", "stdout": "", "stdout_lines": [], "warnings": []}
是否有使用Ansible辦法伊夫一次登錄到MongoDB的控制檯,我可以發送命令rs.status()
?