Привет всем сообществу переполнения стека. Мне нужна ваша помощь, потому что я пытался выполнить sh задачу получения файла с удаленного Windows на локальный linux с помощью Ansible -AWX, и я не могу заставить его работать. Ниже я поделился сборником пьес и большинством тестов, но ни один из них не сработал.
Я получаю последний файл в каталоге windows и пытаюсь перенести этот файл в локальный AWX либо внутри docker или на linux сервере, на котором работает AWX.
Test_1: указанный файл был скопирован, но когда я go внутри docker ничего не было. Я не могу найти ответ и не могу найти его в Google.
Test_2: не работает. Он говорит, что не может аутентифицироваться на linux сервере
Test_3: Задача стала бездействующей, и я должен перезапустить docker, чтобы иметь возможность остановить его. Это сходит с ума. Понятия не имею, почему.
Test_4: говорится, что соединение неожиданно закрыто.
Я не хотел предоставлять вывод для уменьшения шума и потому что не могу поделиться информацией. Я также удалил имена и ips из playbook.
Я подключаюсь к Windows серверу, используя AD.
Пожалуйста, я не знаю, что еще делать. Заранее спасибо за помощь.
---
- name: Get file from Windows to Linux
hosts: all # remote windows server ip
gather_facts: true
become: true
vars:
local_dest_path_test1: \var\lib\awx\public\ # Inside AWX docker
local_dest_path_test2: \\<linux_ip>\home\user_name\temp\ # Outside AWX docker in the linux server
local_dest_path_test3: /var/lib/awx/public/ # Inside AWX docker
# Source file in remote windows server
src_file: C:\temp\
tasks:
# Getting file information to be copied
- name: Get files in a folder
win_find:
paths: "{{ src_file }}"
register: found_files
- name: Get latest file
set_fact:
latest_file: "{{ found_files.files | sort(attribute='creationtime',reverse=true) | first }}"
# Test 1
- name: copy files from Windows to Linux
win_copy:
src: "{{ latest_file.path }}"
dest: "{{ local_dest_path_test1 }}"
remote_src: yes
# Test 2
- name: copy files from Windows to Linux
win_copy:
src: "{{ latest_file.path }}"
dest: "{{ local_dest_path_test2 }}"
remote_src: yes
become: yes
become_method: su
become_flags: logon_type=new_credentials logon_flags=netcredentials_only
vars:
ansible_become_user: <linux_user_name>
ansible_become_pass: <linux_user_password>
ansible_remote_tmp: <linux_remote_path>
# Test 3
- name: Fetch latest file to linux
fetch:
src: "{{ latest_file.path }}"
dest: "{{ local_dest_path_test3 }}"
flat: yes
fail_on_missing: yes
delegate_to: 127.0.0.1
# Test 4
- name: Transfer file from Windows to Linux
synchronize:
src: "{{ latest_file.path }}"
dest: "{{ local_dest_path_test3 }}"
mode: pull
delegate_to: 127.0.0.1