目前,我正在使用shell脚本从FTP服务器下载文件。 Ansible将执行我的脚本并继续其他自动化作业。
请使用“get_url”而不是“shell”告诉我在Ansible playbook中执行此操作的最佳方法。以下语法仅用于下载单个文件,但我的要求是下载多个文件和目录。
感谢您的帮助。
- name: FTP Download
get_url: url=ftp://username:password@ftp.server.com/2016/03/value/myfile dest=/home/user/03/myfile1
register: get_url_result
答案 0 :(得分:1)
根据get_url
documentation,据我所知,get_url
不支持递归下载。
正如@helloV建议的那样,一种可能性是使用with_items
循环遍历列表。但这需要有一个静态文件列表或以某种方式获取此列表,可能是wget
。
因此,您可以直接使用wget -m
,以便以一个任务递归下载所有文件。请参阅How to recursively download a folder via FTP on Linux。
答案 1 :(得分:0)
使用list
urls
(或dict
urls
和dest
),然后使用with_items
循环播放。< / p>
举几个网址和目标文件的示例。