# ansible.builtin.fetch - Fetch files from remote nodes - This module works like [ansible.builtin.copy](ansible.builtin.copy.md), but in reverse. - It is used for fetching files from remote machines and storing them locally in a file tree, organized by hostname. - Files that already exist at dest will be overwritten if they are different than the src. ## Parameter | Parameter | Type | Default | Description | | --------------------- | ----------------- | ------- | ---------------------------------------------------------------------------------------- | | **dest** | string / required | - | A directory to save the file into. | | **fail_on_missing** | boolean | true | When set to `true`, the task will fail if the remote file cannot be read for any reason. | | **src** | string / required | - | The file on the remote system to fetch. This must be a file, not a directory. | | **validate_checksum** | boolean | true | Verify that the source and destination checksums match after the files are fetched. | ## Examples ```yaml - name: Store file into /tmp/fetched/host.example.com/tmp/somefile ansible.builtin.fetch: src: /tmp/somefile dest: /tmp/fetched - name: Specifying a path directly ansible.builtin.fetch: src: /tmp/somefile dest: /tmp/prefix-{{ inventory_hostname }} flat: yes - name: Specifying a destination path ansible.builtin.fetch: src: /tmp/uniquefile dest: /tmp/special/ flat: yes - name: Storing in a path relative to the playbook ansible.builtin.fetch: src: /tmp/uniquefile dest: special/prefix-{{ inventory_hostname }} flat: yes ```