在执行Playbook之后如何将调试输出逐行重定向到文本文件。
- 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'
,.........继续。
答案 0 :(得分:1)
带有回调插件的可行策略
您可以使用 log_play 插件
这是文档:https://docs.ansible.com/ansible/latest/plugins/callback/log_plays.html
此回调将Playbook输出写入/ var / log / ansible / hosts目录中每个主机的文件中
您需要在ansible.cfg
中将其列入白名单,这是有关操作方法的文档:https://docs.ansible.com/ansible/latest/plugins/callback.html#enabling-callback-plugins
BASH策略
或者您也可以使用bash重新发布ansible输出:
ansible-playbook ... | tee -a ansible_log_file.log
命令tee
将显示输出到标准输出并将其保存到文件
答案 1 :(得分:-1)
使用-vvvv选项运行剧本以进行详细记录。