用于检查服务的ansible命令
我正在使用Ansible并试图制作一个简单的剧本来检查服务是否正常用于检查服务的ansible命令,ansible,Ansible,我正在使用Ansible并试图制作一个简单的剧本来检查服务是否正常 service... account-daemon.service 我的剧本包括以下内容: - name account daemon service get status command: systemctl show -p SubState account-daemon register: status - debug: msg="{{ status.stout }}" 请注意playbook之间没有空格。您可
service... account-daemon.service
我的剧本包括以下内容:
- name account daemon service get status
command: systemctl show -p SubState account-daemon
register: status
- debug: msg="{{ status.stout }}"
请注意playbook之间没有空格。您可以使用下面的内容检查服务状态,例如rscd
- name: populate service facts
service_facts:
- debug:
var: ansible_facts.services
- debug:
msg: "service is running"
when: ansible_facts.services['account-daemon.service'].state == "running"
输出:
确定:[本地主机]=>{
“msg”:“服务正在运行”
}
参考:
编辑:
嗨,为这个干杯。我在看我们讲话时写下的内容,这是我得到的:-名称:填充服务事实服务事实-调试:var:ansible\u事实服务-调试:msg:“帐户守护程序正在运行”当:ansible\u事实服务。帐户守护程序。服务==“正在运行”抱歉,Ash没有提供足够的信息。抱歉,Ash没有提供足够的信息。不,这对我不起作用。我只想检查一下这个服务(account_daemon.service)是否在两个centos框上。我认为这很简单,但我因为某些原因而步履蹒跚。这是我在这本剧本上创作的许多剧本中的一部分,但这是我唯一不能理解的。。如果您能提供更多帮助,请提前感谢。我是否应该将account-daemon.service添加到您放置RSCD的位置?干杯。。。不,我们在用煤气做饭。VAR给了我一个服务列表,但最后一部分不起作用。。。失败!=>{msg:“条件检查'anistable\u facts\u services['account\u daemon.service']state==\“running\”)
- name: check rscd
stat:
path: /etc/init.d/rscd
register: serv
- name: populate service facts
service_facts:
- debug:
var: ansible_facts.services
- debug:
msg: "rscd is running"
when: serv.stat.exists and ansible_facts.services['rscd.service'].state == "running"