J'ai besoin de trouver un fichier dans un répertoire inconnu et de le supprimer . J'ai essayé d'utiliser le module "find", d'enregistrer sa sortie et de le transmettre à "file".
Même si je vois un chemin enregistré, je ne peux pas l'utiliser plus tard:
< TASK [print find_result] >
ok: [1.2.3.4] => {
"find_result": {
"changed": false,
"examined": 3119,
"files": [
{
"atime": 1483973253.7295375,
...
"mode": "0600",
"mtime": 1483973253.7295375,
"nlink": 1,
"path": "/tmp/delme",
Mon cahier est:
- hosts: "{{ target }}"
become: no
vars:
find_what: "delme*"
find_where: "/tmp"
tasks:
- name: finding files
find:
paths: "{{ find_where }}"
patterns: "{{ find_what }}"
recurse: "yes"
file_type: "file"
register: find_result
# \/ for debugging
- name: print find_result
debug: var=find_result
- name: remove files
file:
path= "{{ item.path }}"
state=absent
with_items: "{{ find_result.files }}"
Il y a un défaut de syntaxe dans la tâche file
- espace après le =
.
Essayer:
- name: remove files
file:
path: "{{ item.path }}"
state: absent
with_items: "{{ find_result.files }}"
Il y a une erreur de syntaxe dans votre remove files task.
Vous pouvez utiliser:
- name: remove files
file: >
path={{ item.path }}
state=absent
with_items: "{{ find_result.files }}"
Ou
- name: remove files
file: path={{ item.path }} state=absent
with_items: "{{ find_result.files }}"