![Как скопировать файл размером 1 ГБ с помощью Ansible на удаленную машину под другим удаленным пользователем и паролем](https://rvso.com/image/726817/%D0%9A%D0%B0%D0%BA%20%D1%81%D0%BA%D0%BE%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D1%84%D0%B0%D0%B9%D0%BB%20%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%D0%BE%D0%BC%201%20%D0%93%D0%91%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20Ansible%20%D0%BD%D0%B0%20%D1%83%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%BD%D1%83%D1%8E%20%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D1%83%20%D0%BF%D0%BE%D0%B4%20%D0%B4%D1%80%D1%83%D0%B3%D0%B8%D0%BC%20%D1%83%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%BC%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D0%B5%D0%BC%20%D0%B8%20%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D0%B5%D0%BC.png)
Я попытался скопировать файл, вывод ansible-playbook выглядит нормально, но файл был скопирован на локальную машину, а не на удаленную машину в местоположении dest, указанном в файле yaml.
bash-4.2# ansible --version
ansible 2.6.3
config file = /home/build/git/playbook-iam/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /bin/ansible
python version = 2.7.5 (default, Feb 20 2018, 09:19:12) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]
Пособие
---
- hosts: fim-server
tasks:
- name: Ansible copy file to remote server
copy:
src: test.conf
dest: /tmp
playbooks/WAS_CODE_COPY.yml
---
- hosts: fim-server
tasks:
- name: unpack IIM code on FIM server
unarchive:
src: /tmp/iim_1.8.5_for_op_7.4_linux_ml.zip
dest: /tmp
remote_src: yes
Выход из прогона
[build@kvmsbasat01m playbook-iam]$ ansible-playbook playbooks/WAS_CODE_COPY.yml
PLAY [fim-server] *************************************************************************************************************************************************************************************************
TASK [Gathering Facts] ********************************************************************************************************************************************************************************************
ok: [KVMSBAFIM01M]
TASK [unpack IIM code on FIM server] ******************************************************************************************************************************************************************************
fatal: [KVMSBAFIM01M]: FAILED! => {"changed": false, "msg": "Source '/tmp/iim_1.8.5_for_op_7.4_linux_ml.zip' does not exist"}
to retry, use: --limit @/home/build/git/playbook-iam/playbooks/WAS_CODE_COPY.retry
PLAY RECAP ********************************************************************************************************************************************************************************************************
KVMSBAFIM01M : ok=1 changed=0 unreachable=0 failed=1
[build@kvmsbasat01m playbook-iam]$ ssh kvmsbafim01 "ls -l /tmp/iim*"
build@kvmsbafim01's password:
-rw-r--r--. 1 build users 171715008 Sep 7 01:52 /tmp/iim_1.8.5_for_op_7.4_linux_ml.zip
[build@kvmsbasat01m playbook-iam]$
решение1
Попробуйте следующееUnarchive не может найти команду
- name: unarchive files
unarchive:
src: files.tar.gz
dest: "/tmp/iim_1.8.5_for_op_7.4_linux_ml.zip"
owner: "{{ default_user }}"
group: "{{ default_group }}"
extra_opts: [--strip-components=1]