как использовать команду unix в sr c в ansible - PullRequest
2 голосов
/ 19 февраля 2020

Файл открывается, если я запускаю следующую команду из оболочки:

ls -l /tmp/uname -n ---file1

Я пытаюсь запустить его с помощью fetch:

- name: COPY file from remote machine to local

  fetch:

    src: /tmp/`uname -n`---mem-swap.out

    dest: /tmp

Но это выдает ошибку:

файл не найден: /tmp/uname -n---mem-swap.out

Возможно ли выполнить его в "sr c "

Спасибо.

Ответы [ 2 ]

1 голос
/ 19 февраля 2020

Это невозможно. Поиск помог бы, если бы вы запускали playbook в локальной системе, но, к сожалению, поиск не запускается на удаленно управляемых узлах.

Согласно другому ответу, вы можете сначала запустить задачу.

Но если вы сначала собираете факты, почему бы не использовать переменную Ansible?

- name: COPY file from remote machine to local
  fetch:
    src: /tmp/{{ ansible_nodename }}---mem-swap.out
    dest: /tmp
1 голос
/ 19 февраля 2020

Можно зарегистрировать result и объединить строку src. Например

   - commnad: "uname -n"
     register: result
   - fetch:
        src: "/tmp/{{ result.stdout }}---mem-swap.out"
        dest: "/tmp"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...