模块参数
$ ansible-doc -s fetch
- name: Fetch files from remote nodes
fetch:
dest: # (required) A directory to save the file into. For example, if the 'dest'
directory is '/backup' a 'src' file named
'/etc/profile' on host 'host.example.com', would
be saved into
'/backup/host.example.com/etc/profile'. The host
name is based on the inventory name.
fail_on_missing: # When set to 'yes', the task will fail if the remote file cannot be read for any
reason. Prior to Ansible 2.5, setting this would
only fail if the source file was missing. The
default was changed to 'yes' in Ansible 2.5.
flat: # Allows you to override the default behavior of appending hostname/path/to/file
to the destination. If 'dest' ends with '/', it
will use the basename of the source file,
similar to the copy module. This can be useful
if working with a single host, or if retrieving
files that are uniquely named per host. If using
multiple hosts with the same filename, the file
will be overwritten for each host.
src: # (required) The file on the remote system to fetch. This 'must' be a file, not a
directory. Recursive fetching may be supported
in a later release.
validate_checksum: # Verify that the source and destination checksums match after the files are
fetched.
示例代码
- name: test
hosts: 127.0.0.1 # 修改为远程主机IP
remote_user: root
gather_facts: False
tasks:
- name: "获取远程文件路径"
find:
paths: "/tmp/"
patterns: "test*.py"
register: remote_paths
- debug:
msg: "{{ item.path }}"
with_items: "{{ remote_paths.files }}"
loop_control:
label: "{{ item.path }}"
- name: "获取文件到本机"
fetch:
src: "{{ item.path }}"
dest: /data/tmp_file/
# flat: true
with_items: "{{ remote_paths.files }}"
loop_control:
label: "{{ item.path }}"
运行结果
PLAY [test] ***************************************************************************************************
TASK [获取远程文件路径] ***********************************************************************************************
ok: [127.0.0.1]
TASK [debug] **************************************************************************************************
ok: [127.0.0.1] => (item=/tmp/test_21.py) => {
"msg": "/tmp/test_21.py"
}
ok: [127.0.0.1] => (item=/tmp/test_crypto.py) => {
"msg": "/tmp/test_crypto.py"
}
ok: [127.0.0.1] => (item=/tmp/test_subprocess.py) => {
"msg": "/tmp/test_subprocess.py"
}
TASK [获取文件到本机] ************************************************************************************************
ok: [127.0.0.1] => (item=/tmp/test_21.py)
ok: [127.0.0.1] => (item=/tmp/test_crypto.py)
ok: [127.0.0.1] => (item=/tmp/test_subprocess.py)
PLAY RECAP ****************************************************************************************************
127.0.0.1 : ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » 在 ansible 中使用 fetch 模块拉取远程文件到本地
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » 在 ansible 中使用 fetch 模块拉取远程文件到本地