如何将文件从多台服务器移动到一台服务器?

时间:2019-06-21 04:31:55

标签: ansible

我需要一个角色来将日志从主机组收集到ansible本地,然后将所有这些文件传输到另一台服务器。像下面一样

剧本看起来像这样:

- hosts: work_vms
  roles: 
    - role: collect

角色collect / tasks / main.yml:

---
- name: fetch log from work server    
  fetch:  
    src: /app/logs/server.log
    dest: /var/log/
    flat: yes

- name: transfer all logs to log server
  delegate_to: "{{ groups.log_server[0] }}"  
  copy:  
    src: /var/log
    dest: /storage/logs

这很好。但是复制非常慢。 因此,我尝试使用同步来替换副本。

- name: transfer all logs to log server    
  delegate_to: "{{ groups.log_server[0] }}"  
  synchronize:  
    src: /var/log
    dest: /storage/logs

失败,因为在log_server上找不到/ var / log。

我尝试使用rsync,但是我不知道如何获取/etc/ansible/ansible.cfg中配置的ssh连接参数,例如remote_user,private_key_file等。

有没有办法获得剧本中ansible使用的全局配置的价值?

0 个答案:

没有答案
相关问题