我需要一个角色来将日志从主机组收集到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使用的全局配置的价值?