# fetch/download a file(s) from managed nodes to the controller node # # - use cases: # - pulling log files # - grabbing public keys # # --- - name: "15 - custom ansible - fetch file" hosts: dev become: yes # Run tasks with root/sudo privileges vars: sys_file_list: - /etc/rc.d/rc.firewall - /etc/ssh/sshd_config # # - playing w/ loops as well # tasks: - name: pull sshd & firewall configs ansible.builtin.fetch: src: "{{ item }}" dest: ~/repos/ansible_repo/ansible-practice/system/ loop: "{{ sys_file_list }}" tags: ['fetch_sys_configs'] # # - essentially, the same code as above except done one task at a time # # - name: pull sshd config # ansible.builtin.fetch: # src: /etc/ssh/sshd_config # dest: ~/repos/ansible_repo/ansible-practice/system/ # tags: ['fetch_sshd_config'] # # - name: pull firewall config # ansible.builtin.fetch: # src: /etc/rc.d/rc.firewall # dest: ~/repos/ansible_repo/ansible-practice/system/ # tags: ['fetch_firewall_config'] # # References # # https://docs.ansible.com/ansible/latest/collections/ansible/builtin/fetch_module.html # https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_loops.html # https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_variables.html#list-variables