我必须在服务器上找到所有config.xml并在给定服务器上生成列表。
一旦我们注册了文件列表,我就必须使用Ansible检查列表中每个文件的内容
我试图导出所有config.xml的路径 注册并打印列表 将注册的变量添加到lineinfile路径中
##Derive Config.xml path
- name: Find the location of xml file
shell: find {{ wlx_mount_point }} -maxdepth 1 -name {{xml_file}} | rev | cut -d '/' -f3- | rev
register: wlx_domain_home
ignore_errors: yes
- debug:
msg: "{{ wlx_domain_home.stdout_lines|list }}"
- name: check domain home directory exists
stat:
path: "{{ wlx_domain_home |list }}"
ignore_errors: true
- debug:
msg: "{{ wlx_domain_home.stdout_lines|list }}"
- name: "Ensure Logging Settings in config.xml"
lineinfile:
line: "{{ item.line }}"
regexp: "{{ item.regexp }}"
path: "{{ wlx_domain_home.stdout_lines|list }}/config/config.xml"
state: present
backrefs: yes
register: config.xml.Logging
with_fileglob: "{{ wlx_domain_home.stdout_lines|list }}/config/config.xml"
with_items:
- line: "<logger-severity>Info</logger-severity>"
regexp: "^logger-severity.*"
预期结果是,它必须在每个文件中查找行并在列表中循环。 `它打印列表并且找不到内容
“ _ ansible_ignore_errors”:是,“ msg”:“目的地 [u'/ appl / cmpas9 / user_projects / pte-ipscasws', u'/ appl / bbb / user_projects / qa-ucxservices_bkp', u'/ appl / app / user_projects / weiss_apps12', u'appl / view / user_projects / weiss_apps12_oldbkp', u'appl / voc / user_projects / qa-voc'] / config / config.xml不存在!” }
答案 0 :(得分:0)
这是我解决问题的方式。现在它给出输出 -名称:查找所有Weblogic域路径 Shell:找到/ tech / appl -type f -name config.xml 注册:wlx_domain_config -调试: var:wlx_domain_config.stdout_lines
名称:“确保config.xml中的allow-uncrypted-null-cipher加密设置” shell:grep -i“” {{item}} with_items:“ {{wlx_domain_config.stdout_lines}}” 注册:allowunencrypted
调试: var:allowunencrypted.stdout_lines