On 15. nov. 2016 00:15, Felix Gao wrote:
thanks for your explanation and I have made some progress but I am further
stopped by the next stage.
My problem is that I have a dynamic directory that generate log file in
certain directories with the following format
/var/log/app-YYYYMMDD-RANDOM_HASH/log_file_name-YYYYMMDDMMSS-[audit,console,access,].log
and I am trying to find all the logs in that directory that are more than
1GB then trim it.
Can't you just do this in one find?
- name: Find file >=1GB
find:
path: /var/log
patterns: "wasabi-intuit-main*.log"
file_type: file
size: 1g
register: files_too_large
I have these in my tasks
tasks:
#using the shell command because we need * expansion, otherwise if we
know the exact directory we can use command module instead
- name: list log directory to find wasabi main directory name
find:
paths: [ "/var/log/" ]
patterns: "wasabi-intuit-main*"
file_type: directory
register: out_directories
ignore_errors: True
- name: list log files for wasabi intuit main
find:
paths: "{{item.path}}"
patterns: "wasabi-intuit-main*.log"
file_type: file
register: out_files
with_items: "{{ out_directories.files }}"
ignore_errors: True
but it seems the returned out_files variable is a dict. the key is another
dict of the previous job and the value is a dict from find return values
with added properties like "changed","examined", and "msg". now I am
confused on how to iterate that object so I can filter the result.
I have tried "{{ out_files.values().files }}" and "{{
out_files.results.files }}" which does not seems to work
This is going to be somewhat complicated, I do recommend looking at
doing it with less loops.
out_file.results.0.files will contain all files in the fist directory
from out_directories
out_file.results.1.files will contain all files in the second directory
from out_directories
...
...
If you still want to iterate on out_files you will have to look av
with_subelements.
Probably someting like this
- debug: var=item.1.path
with_subelements:
- "{{ out_file.results }}"
- files
--
Kai Stian Olstad
--
You received this message because you are subscribed to the Google Groups "Ansible
Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/61c1acc6-4cfb-855b-c15f-6dc1a174203c%40olstad.com.
For more options, visit https://groups.google.com/d/optout.