如何在执行剧本后将调试输出逐行重定向到文本文件中。
- name: Copy content to the output file ====> ( redirecting output variable i.e. paths to a file.)
copy:
content: "{{ paths }}"
dest:"/home/oracle/script_results/{{inventory_hostname}}_get_facts.txt" 把这个输出放在一行..。
[u'/u01/oracle/Oracle_Home/abc.txt', u'/u01/oracle/Oracle_Home/oracle.jar', u'/u01/oracle/Oracle_Home/oracle.war', u'/u01/oracle/Oracle_Home/oracle.ear', u'/u01/oracle/Oracle_Home/xyz.ear'、.........contd.
发布于 2019-02-04 14:44:57
带有回调插件的Ansible策略
您可以使用log_play插件
这是文档:plays.html
此回调将剧本输出写入/var/log/ansible/ host目录中的每个主机的文件中。
您需要在ansible.cfg中白名单它,下面是关于如何做到这一点的文档:https://docs.ansible.com/ansible/latest/plugins/callback.html#enabling-callback-plugins
BASH策略
或者您也可以使用bash来redirec ansible输出:
ansible-playbook ... | tee -a ansible_log_file.log命令tee将显示输出到标准输出,并将其保存到文件中。
https://stackoverflow.com/questions/54504982
复制相似问题