Ansible копировать большой файл в режиме asyn c - PullRequest
0 голосов
/ 16 апреля 2020

При попытке загрузить файл размером 1 ГБ на удаленный сервер отображается следующая ошибка:

"asyn c не поддерживается для этой задачи."

Здесь я использую asyn c с модулем копирования

Вот мой ansible playbook

- hosts: myhost
  tasks: 
    - name: 'copy large file'
      copy:
        src: "large_file"
        dest: "/home/user"
      async: 
      poll: 0
      register: copy_sleeper

    - name: 'check on async task'
      async_status:
        jid: "{{ copy_sleeper.ansible_job_id }}"
      register: job_result
      until: job_result.finished
      retries: 5

Есть ли какие-нибудь решения в этом случае?

1 Ответ

0 голосов
/ 22 апреля 2020

Я решил это с помощью команды scp следующим образом:

- name: Copy large file in async
  command: "scp -P {{ssh_port}} path/to/src {{ ssh_user }}@{{ target_host }}:/path/to/dest"
  async: 3600
  poll: 0
  register: copy_sleeper

- name: 'Check if async task has finished'
  async_status:
    jid: "{{ copy_sleeper.ansible_job_id }}"
  register: job_result
  until: job_result.finished
  retries: 3600
...