Ansible не может отправить локальные файлы на целевой сервер с помощью rsync - PullRequest
0 голосов
/ 03 октября 2019

Используя Ansible, я хочу перенести все файлы из папки redhat localhost / app / tmpfiles / в папку remoteaixhost по адресу / was / IBM / BACKUP / 00005 / с текущей меткой времени и разрешениями 755

Команда ниже показывает, чтоУ меня есть файл на моем локальном хосте:

[localuser@localhost]$ ls -ltr /app/tmpfiles/*
-rw-rw-r-- 1 localuser user 12 Sep 13 15:53 /app/tmpfiles/testingjsp4.jsp

Ниже приведен мой ANSIBLE Playbook для этой задачи.

- name: Play 1
  host: remoteaixhost
   - name: "Backup on Destination Server"
     tags: validate
     local_action: command rsync --delay-updates -F --compress --chmod=755 "--rsh=/usr/bin/ssh -S none -i /app/my_id_rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" "--out-format=<<CHANGED>>%i %n%L" "{{ playbook_dir }}/tmpfiles/*" "{{ USER }}@{{ inventory_hostname }}":"{{ vars[inventory_hostname] }}/BACKUP/{{ Number }}/"
     run_once: true

Запуск вышеуказанного Playbook завершился неудачно, а ниже приведен журнал ошибок от ANSIBLE:

TASK [Резервное копирование на конечном сервере remoteaixhost.] *** неустранимо: [remoteaixhost -> localhost]: СБОЙ! => {"updated": true, "cmd": ["rsync", "--delay-updates", "-F", "--compress", "--chmod = 755", "--rsh =/ usr / bin / ssh -S нет -i / app / my_id_rsa -o StrictHostKeyChecking = нет -o UserKnownHostsFile = / dev / null "," --out-format = <>% i% n% L "," / app/ tmpfiles / "," user2 @ remoteaixhost: / was / IBM / BACKUP / 00005 / "]," delta ":" 0: 00: 00.228097 "," end ":" 2019-10-04 00:23: 09.103525 "," msg ":" ненулевой код возврата "," rc ": 23," start ":" 2019-10-04 00: 23: 08.875428 "," stderr ":" Предупреждение: окончательно добавлено 'remoteaixhost'(RSA) к списку известных хостов. \ R \ nЭта система предназначена для использования только авторизованными пользователями. Лица, использующие эту компьютерную систему без полномочий или сверх их полномочий, обязаны выполнять все свои действия в этой области. Система контролируется и регистрируется персоналом системы.В ходе мониторинга лиц, ненадлежащим образом использующих эту систему, или в ходе технического обслуживания системы, также могут контролироваться действия авторизованных пользователей. Любой, кто использует эту систему, прямо соглашается на такоемониторинг и рекомендуется, чтобы, если такой мониторинг выявил возможные доказательства преступной деятельности, сотрудники системы могут предоставить доказательства такого мониторинга сотрудникам правоохранительных органов \ nrsync: link_stat \ "/ app / tmpfiles / \" Ошибка: нет такогоfile или directory (2) \ nrsync error: некоторые файлы / атрибуты не были перенесены (см. предыдущие ошибки) (код 23) в main.c (1178) [sender = 3.1.2] "," stderr_lines ": [" Предупреждение:Постоянно добавлен «remoteaixhost» (RSA) в список известных хостов. "," Эта система предназначена только для авторизованных пользователей. Лица, использующие эту компьютерную систему без полномочий или сверх их полномочий, подлежат контролю и регистрации всех своих действий в этой системе персоналом системы. В ходе мониторинга лиц, ненадлежащим образом использующих эту систему, или в ходе технического обслуживания системы, также могут контролироваться действия авторизованных пользователей. Любой, кто использует эту систему, прямо соглашается на такой мониторинг и получает уведомление о том, что если такой мониторинг обнаруживает возможные доказательства преступной деятельности, сотрудники системы могут предоставить доказательства такого мониторинга сотрудникам правоохранительных органов "," rsync: link_stat \ "/ app / tmpfiles/ * \ "не удалось: нет такого файла или каталога (2)", "ошибка rsync: некоторые файлы / атрибуты не были перенесены (см. предыдущие ошибки) (код 23) в main.c (1178) [sender = 3.1.2]"]," stdout ":" ", stdout_lines": []}

НЕТ БОЛЬШЕ ХОСТОВ ВПЕРЕД


PLAY RECAP ********************************************************************* remoteaixhost: ok = 8 изменено = 4 недоступно = 0
не выполнено = 1 пропущено = 6 спасено = 0 проигнорировано = 0 localhost
: нормально = 4 изменено = 2 недоступно = 0 не удалось = 0skipped = 1
rescued = 0 игнорируется = 0

Шаг сборки 'Выполнить оболочку' помечен как сбой Закончено: FAILURE

Одна вещь, которая беспокоит меня в выводе: "fatal: [remoteaixhost -> localhost] ". Почему он говорит" удаленныйaixhost -> localhost ", когда мы на самом деле указываем local_action, и я ожидал, что он будет отображаться так:" localhost -> remoteaixhost ". Однако я не уверен, что мое наблюдение касается того, каково решение, и помогает ли это нам посмотретьправильное направление.

Примечание. Я также попытался удалить astrick из приведенной выше команды rsync, как показано ниже:

rsync --delay-updates -F --compress --chmod=755 "--rsh=/usr/bin/ssh -S none -i /app/my_id_rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" "--out-format=<<CHANGED>>%i %n%L" "{{ playbook_dir }}/tmpfiles/" "{{ USER }}@{{ inventory_hostname }}":"{{ vars[inventory_hostname] }}/BACKUP/{{ Number }}/"

Однако ошибок не получено, файл / файлы не копируются на целевой хост.

Я попытался вручную запустить команду rsync на localhost, сгенерированную ansible, и ниже приведено наблюдение:

# with aistrick the copy is successful:

[localuser@localhost]$ rsync --delay-updates -F --compress --chmod=755 "--rsh=/usr/bin/ssh -S none -i /app/my_id_rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --out-format="<<CHANGED>>%i %n%L" /app/tmpfiles/* user2@remoteaixhost:/was/IBM/BACKUP/00005/
Warning: Permanently added 'remoteaixhost' (RSA) to the list of known hosts.
This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel. In the course of monitoring individuals improperly using this system, or in the course of system maintenance, the activities of authorized users may also be monitored. Anyone using this system expressly consents to such monitoring and is advised that if such such monitoring reveals possible evidence of criminal activity, system personnel may provide the evidence of such monitoring to the law enforcement officials
<<CHANGED>><f+++++++++ testingjsp4.jsp
[localuser@localhost]$ echo $?
0

# without aistrick the files do not get copied over:

[localuser@localhost]$ rsync --delay-updates -F --compress --chmod=755 "--rsh=/usr/bin/ssh -S none -i /app/my_id_rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --out-format="<<CHANGED>>%i %n%L" /app/tmpfiles/ user2@remoteaixhost:/was/IBM/BACKUP/00005/
Warning: Permanently added 'remoteaixhost' (RSA) to the list of known hosts.
This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel. In the course of monitoring individuals improperly using this system, or in the course of system maintenance, the activities of authorized users may also be monitored. Anyone using this system expressly consents to such monitoring and is advised that if such such monitoring reveals possible evidence of criminal activity, system personnel may provide the evidence of such monitoring to the law enforcement officials
skipping directory .
[localuser@localhost]$ echo $?
0

Не могли бы вы предложить?

1 Ответ

0 голосов
/ 10 октября 2019
local_action: command rsync -r --delay-updates -F --compress --chmod=755 "--rsh=/usr/bin/ssh -S none -i /app/my_id_rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" "--out-format=<<CHANGED>>%i %n%L" {{ playbook_dir }}/tmpfiles/*.log "{{ USER }}@{{ inventory_hostname }}":"{{ vars[inventory_hostname] }}/BACKUP/{{ Number }}/"

Это работает, и я удалил двойные кавычки вокруг -> {{playbook_dir}} / tmpfiles / *. Log

...