Ansible l'écriture de la sortie de plusieurs tâches dans un seul fichier
Dans Ansible, j'ai écrit une Yaml playbook qui prend une liste de nom d'hôte et l'exécute la commande pour chaque hôte. J'ai enregistré une variable pour ces tâches et à la fin de l'exécution d'une tâche, j'ai ajouter la sortie de chaque commande dans un fichier unique.
Mais chaque fois que j'essaie de joindre mon fichier de sortie, seul le dernier enregistrement est arriver a persisté.
---
- hosts: list_of_hosts
become_user: some user
vars:
output: []
tasks:
- name: some name
command: some command
register: output
failed_when: "'FAILED' in output"
- debug: msg="{{output | to_nice_json}}"
- local_action: copy content='{{output | to_nice_json}}' dest="/path/to/my/local/file"
J'ai même essayé de les ajouter à l'aide lineinfile à l'aide de insertafter paramètre n'était pas encore réussi.
Tout ce que je suis absent?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer quelque chose comme ceci:
J'ai utilisé
serial: 1
que je ne suis pas sûr silineinfile
tâches en cours d'exécution en parallèle va corrompre le fichier de sortie.Ansible doc recommandons d'utiliser le copier:
Si vous voulez écrire de fichiers local, ajoutez ceci: