我写了一个ansible脚本,它从各种来源返回一些信息。我在任务期间保存在变量中的变量之一是某个mysql数据库表中的记录数。
我可以很好地打印出剧本中的结果。 但是,我想要的是将所有主机的结果写入主/控制服务器或运行该剧本的计算机上的单个(csv)文件中
- name: Show results
debug:
msg: "URL: {{hostvars[inventory_hostname]['ansible_nodename']}} RECORDCOUNT: {{results.stdout}} BASE VERSION: {{baseversion.stdout}}"
这件作品打印了我想要的20个节点的信息。 我现在想在主服务器上的单个文件中写入此行。 (csv)
我尝试了各种各样的本地副本,但直到现在都无济于事
答案 0 :(得分:2)
shell
模块可以派上用场:
- name: Save results
shell: echo URL: {{hostvars[inventory_hostname]['ansible_nodename']}} RECORDCOUNT: {{results.stdout}} BASE VERSION: {{baseversion.stdout}} >> /opt/my_file.log
delegate_to: localhost
答案 1 :(得分:0)
如果内容太长而导致回声错误,则此方法会出现问题。 我最终使用了模板模块。
只需在此处发布即可,这可能会对其他人有所帮助。