Backup remoto com netcat e Ansible

1

Eu tento fazer backup dos meus servidores com o Ansible. Minha configuração é assim:

SERVER 1..n (my data I want to backup)
ANSIBLE_HOST (on this server my Ansible backup playbook is executed by a cron job)
BACKUP_STORE (on this server my backups are stored)

Agora eu tento enviar os arquivos com o netcat de SERVER x para as tarefas BACKUP_STORE my Ansible da seguinte forma:

- shell: >
    nc -l {{ port }} > {{ backup_file }}.tar.bz2
  async: 1000
  poll: 0
  register: receiver
  delegate_to: "{{ BACKUP_STORE_IP }}"

- shell: >
    tar -cvpj --one-file-system {{ folder }} | nc -q 0 {{ BACKUP_STORE_IP }} {{ port }}

- async_status:
    jid: "{{ receiver }}"
  register: job_result
  until: job_result.finished
  retries: 30
  delegate_to: "{{ BACKUP_STORE_IP }}"

Quando executo os comandos shell nos dois servidores, isso funciona 100% do tempo. Mas se eu executá-los com este script Ansible, cerca de 50% do tempo o arquivo de backup em BACKUP_STORE é criado, mas está vazio (0 bytes).

Qual poderia ser a razão pela qual os dados não são transmitidos quando isso é executado através do Ansible? Ou existe algum outro método, enviando o arquivo sem escrever o arquivo no sistema de arquivos de SERVER x ?

    
por tbraun89 27.10.2015 / 13:39

0 respostas