тотже файл за пару сек перекидываю, а Copy работает прям минутами
-vvv / -vvvv что показывает?
там лог просто не прилично большой. но судя по всему он просто на каждый файл создает отдельное соединение Using module file /usr/lib/python3/dist-packages/ansible/modules/copy.py <172.16.0.224> PUT /root/.ansible/tmp/ansible-local-129527gd5xg2ew/tmpq9qmrulo TO /home/avosluck/.ansible/tmp/ansible-tmp-1639338653.9121842-129672-177918109153533/AnsiballZ_copy.py <172.16.0.224> SSH: EXEC sftp -b - -vvv -C -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o 'User="avosluck"' -o ConnectTimeout=10 -o ControlPath=/root/.ansible/cp/6ce688c141 '[172.16.0.224]' <172.16.0.224> (0, b'sftp> put /root/.ansible/tmp/ansible-local-129527gd5xg2ew/tmpq9qmrulo /home/avosluck/.ansible/tmp/ansible-tmp-1639338653.9121842-129672-177918109153533/AnsiballZ_copy.py\n', b'OpenSSH_8.2p1 Ubuntu-4ubuntu0.3, OpenSSL 1.1.1f 31 Mar 2020\r\ndebug1: Reading configuration data /etc/ssh/ssh_config\r\ndebug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files\r\ndebug1: /etc/ssh/ssh_config line 21: Applying options for *\r\ndebug2: resolve_canonicalize: hostname 172.16.0.224 is address\r\ndebug1: auto-mux: Trying existing master\r\ndebug2: fd 3 setting O_NONBLOCK\r\ndebug2: mux_client_hello_exchange: master version 4\r\ndebug3: mux_client_forwards: request forwardings: 0 local, 0 remote\r\ndebug3: mux_client_request_session: entering\r\ndebug3: mux_client_request_alive: entering\r\ndebug3: mux_client_request_alive: done pid = 121554\r\ndebug3: mux_client_request_session: session request sent\r\ndebug2: Remote version: 3\r\ndebug2: Server supports extension "posix-rename@openssh.com" revision 1\r\ndebug2: Server supports extension "statvfs@openssh.com" revision 2\r\ndebug2: Server supports extension "fstatvfs@openssh.com" revision 2\r\ndebug2: Server supports extension "hardlink@openssh.com" revision 1\r\ndebug2: Server supports extension "fsync@openssh.com" revision 1\r\ndebug2: Server supports extension "lsetstat@openssh.com" revision 1\r\ndebug3: Sent message fd 3 T:16 I:1\r\ndebug3: SSH_FXP_REALPATH . -> /home/avosluck size 0\r\ndebug3: Looking up /root/.ansible/tmp/ansible-local-129527gd5xg2ew/tmpq9qmrulo\r\ndebug3: Sent message fd 3 T:17 I:2\r\ndebug3: Received stat reply T:105 I:2\r\ndebug3: Sent message SSH2_FXP_OPEN I:3 P:/home/avosluck/.ansible/tmp/ansible-tmp-1639338653.9121842-129672-177918109153533/AnsiballZ_copy.py\r\ndebug3: Sent message SSH2_FXP_WRITE I:4 O:0 S:32768\r\ndebug3: SSH2_FXP_STATUS 0\r\ndebug3: In write loop, ack for 4 32768 bytes at 0\r\ndebug3: Sent message SSH2_FXP_WRITE I:5 O:32768 S:32768\r\ndebug3: Sent message SSH2_FXP_WRITE I:6 O:65536 S:32768\r\ndebug3: Sent message SSH2_FXP_WRITE I:7 O:98304 S:32768\r\ndebug3: Sent message SSH2_FXP_WRITE I:8 O:131072 S:1355\r\ndebug3: SSH2_FXP_STATUS 0\r\ndebug3: In write loop, ack for 5 32768 bytes at 32768\r\ndebug3: SSH2_FXP_STATUS 0\r\ndebug3: In write loop, ack for 6 32768 bytes at 65536\r\ndebug3: SSH2_FXP_STATUS 0\r\ndebug3: In write loop, ack for 7 32768 bytes at 98304\r\ndebug3: SSH2_FXP_STATUS 0\r\ndebug3: In write loop, ack for 8 1355 bytes at 131072\r\ndebug3: Sent message SSH2_FXP_CLOSE I:4\r\ndebug3: SSH2_FXP_STATUS 0\r\ndebug3: mux_client_read_packet: read header failed: Broken pipe\r\ndebug2: Received exit status from master 0\r\n') <172.16.0.224> ESTABLISH SSH CONNECTION FOR USER: avosluck
попробуй synchronize + delegate_to
можешь тупо в shell scp засунуть и проверить как выполняется, но у synchronize плюсы - что он суммы проверяет и быстрее копирует если файлы не изменялись + умеет прям стики биты сохранять при копировании
буду пробовать, спасибо
на всякий повторю - - - synchronize + delegate_to прям хорошо зайдёт тебе (это старый, добрый rsync)
а можно подробнее? synchronize это модуль, а delegate_to что это?
delegate_to - это потенциальный выстрел в ногу =)
https://docs.ansible.com/ansible/latest/collections/ansible/posix/synchronize_module.html почему нужен delegate_to, потому что этот модуль запускается локально на ansible_host
не, не в этом случае
да и там можно
tasks: - name: Take out of load balancer pool ansible.builtin.command: /usr/bin/take_out_of_pool {{ inventory_hostname }} delegate_to: 127.0.0.1 то есть в делегейт ту я указываю айпи хоста на котором у меня директория с файлами?
не, если так сделаешь, тогда ты должен указать mode: push
Обсуждают сегодня