首页 > 代码库 > ansile(2)模块之get_url
ansile(2)模块之get_url
ansible get_url将文件从HTTP,HTTPS或FTP下载到节点
参数 | 是否必须 | 默认 | 选项 | 说明 |
attributes | no | None | yes no | 文件或目录的属性应该是。要获得支持的标志,请查看taget系统上chattr的手册页. |
backup | no | no | 创建一个包括时间戳信息的备份文件,这样你可以得到原始文件,如果你不正确地弄错了。 | |
checksum | no | 如果将校验和传递给此参数,则将在下载目标文件的摘要后计算摘要,以确保其完整性,并验证传输是否成功完成。格式:<algorithm>:<checksum>,例如:checksum =“sha256:D98291AC [...] B6DC7B97”如果你担心可移植性,只有sha1算法可用于所有平台和python版本。可以安装第三方hashlib库以访问其他算法。此外,如果将校验和传递给此参数,并且文件位于dest位置下,则将计算destination_checksum,如果校验和等于destination_checksum,则将跳过文件下载(除非force为true)。 | ||
dest | yes | 将文件下载到的绝对路径。 如果dest是目录,则服务器提供的文件名,如果没有提供,则将使用远程服务器上的URL的基本名称。如果一个目录,force没有效果。如果dest是一个目录,文件将总是被下载(不管force选项),但是只有当内容改变时才被替换。 | ||
force | no | no | yes no | 如果是的,dest不是目录,将每次下载文件,如果内容改变,替换文件。如果否,则只有在目标不存在时才会下载该文件。一般应该是只对小的本地文件。在0.6之前,此模块的行为好像是默认值。 |
force_basic_auth | no | no | yes no | httplib2,uri模块使用的库只会在webservice以401状态响应初始请求时发送身份验证信息。由于一些基本的auth服务没有正确发送401,登录将失败。此选项强制在初始请求时发送Basic认证头。 |
group | no | 应该拥有文件/目录的组的名称,将被发送到chown。 | ||
headers | no | 以格式“key:value,key:value”向请求添加自定义HTTP标头 | ||
mode | no | 模式文件或目录应该是。对于那些用于/ usr / bin / chmod的记住,模式实际上是八进制数字(如0644)。离开领先的零可能会有意想不到的结果。从版本1.8起,模式可以被指定为符号模式(例如,u + rwx或u = rw,g = r,o = r)。 | ||
others | no | 文件模块接受的所有参数也在这里工作 | ||
owner | no | 应该拥有文件/目录的用户的名称,将被发送到chown。 | ||
selevel | no | s0 | SELinux文件上下文的级别部分。这是MLS / MCS属性,有时称为范围。 _default功能与seuser相同。 | |
serole | no | SELinux文件上下文的角色部分,_default功能与seuser一样。 | ||
setype | no | 键入SELinux文件上下文的一部分,_default功能与seuser一样工作. | ||
sha256sum | no | 如果将SHA-256校验和传递给此参数,则将在下载目标文件的摘要后计算摘要,以确保其完整性,并验证传输是否成功完成。此选项已弃用。使用‘校验和‘。 | ||
timeout | no | 网址请求的超时(以秒为单位) | ||
tmp_dest | no | 临时文件下载到的绝对路径。 默认为TMPDIR,TEMP或TMP env变量或特定于平台的值 https://docs.python.org/2/library/tempfile.html#tempfile.tempdir | ||
unsafe_writes | no | 通常,此模块使用原子操作来防止数据损坏或从目标文件读取不一致,有时系统配置或只是破坏以防止这种情况。一个例子是docker挂载的文件,它们不能被原子地更新,并且只能以不安全的方式完成。 这个布尔选项允许ansible回退到不安全的更新文件的方法,在那些没有任何其他选择的情况下。请注意,这是受种族条件的制约,可能导致数据损坏。 | ||
url | yes | HTTP, HTTPS, or FTP URL in the form | ||
url_password | no | 用于HTTP基本认证的密码。如果未指定url_username参数,则不会使用url_password参数。 | ||
url_username | no | 用于HTTP基本认证的用户名。对于允许空密码的站点,可以在不使用url_password的情况下使用此参数。 | ||
use_proxy | no | yes | yes no | 如果没有,它将不使用代理,即使在目标主机上的环境变量中定义了一个代理。 |
validate_certs | no | yes | yes no | 如果否,SSL证书将不会验证。这只应在使用自签名证书的个人控制站点上使用。 |
下载文件
# ansible webserver -m get_url -a "url=http://muzhi.baidu.com/question/13193725.html dest=/tmp/" 172.16.110.47 | SUCCESS => { "changed": true, "checksum_dest": null, "checksum_src": "a6b0a0327865daba2b920fb4678545bd2c212963", "dest": "/tmp/13193725.html", "gid": 0, "group": "root", "md5sum": "888dc8c9883f8f9468fb9a6e83ba36fe", "mode": "0644", "msg": "OK (unknown bytes)", "owner": "root", "size": 20637, "src": "/tmp/tmpQlWqAU", "state": "file", "uid": 0, "url": "http://muzhi.baidu.com/question/13193725.html" } 172.16.110.48 | SUCCESS => { "changed": true, "checksum_dest": null, "checksum_src": "c22386c304380819fa9407097d21c0bd942819ad", "dest": "/tmp/13193725.html", "gid": 0, "group": "root", "md5sum": "29c8669695e64e134a3e93a646653536", "mode": "0644", "msg": "OK (unknown bytes)", "owner": "root", "size": 20637, "src": "/tmp/tmppkHcOz", "state": "file", "uid": 0, "url": "http://muzhi.baidu.com/question/13193725.html" }
2.下载nginx包,权限为740,属主为ckl属组为ckl,并制定校验码
# ansible webserver -m get_url -a "url=http://nginx.org/download/nginx-1.11.8.zip dest=/tmp/ group=ckl owner=ckl mode=740 checksum=‘sha256:0f06c91e86322a7658fcd4c210e1af69512ae9ff974df5e2beb4e4952e678016‘" 172.16.110.47 | SUCCESS => { "changed": true, "checksum_dest": null, "checksum_src": "fa31bdfaead51dbe94b9de6958021038ce9a779e", "dest": "/tmp/nginx-1.11.8.zip", "gid": 1000, "group": "ckl", "md5sum": "cedc1474bfe20e43fe67907664b6741a", "mode": "0740", "msg": "OK (1398628 bytes)", "owner": "ckl", "size": 1398628, "src": "/tmp/tmpqBcnhn", "state": "file", "uid": 1000, "url": "http://nginx.org/download/nginx-1.11.8.zip" } 172.16.110.48 | SUCCESS => { "changed": true, "checksum_dest": null, "checksum_src": "fa31bdfaead51dbe94b9de6958021038ce9a779e", "dest": "/tmp/nginx-1.11.8.zip", "gid": 1000, "group": "ckl", "md5sum": "cedc1474bfe20e43fe67907664b6741a", "mode": "0740", "msg": "OK (1398628 bytes)", "owner": "ckl", "size": 1398628, "src": "/tmp/tmpdny5Fq", "state": "file", "uid": 1000, "url": "http://nginx.org/download/nginx-1.11.8.zip" }
查看文件:
# ll nginx-1.11.8.zip -rwxr----- 1 ckl ckl 1398628 Dec 29 15:29 nginx-1.11.8.zip
3.下载文件指定用户名和密码
ansible webserver -m get_url -a ‘url=http://redistat.quanmin.tv dest=/tmp/ url_username=‘ckl‘ url_password="hh!123"‘ 172.16.110.47 | SUCCESS => { "changed": true, "checksum_dest": null, "checksum_src": "5eb6b5401bdbf69556e0a83e6b02590f25704e24", "dest": "/tmp/index.html", "gid": 0, "group": "root", "md5sum": "23b07c0e7c4d143f3f877a7d0ed63099", "mode": "0644", "msg": "OK (33395 bytes)", "owner": "root", "size": 33395, "src": "/tmp/tmpk3Scw3", "state": "file", "uid": 0, "url": "http://redistat.quanmin.tv" } 172.16.110.48 | SUCCESS => { "changed": true, "checksum_dest": null, "checksum_src": "5eb6b5401bdbf69556e0a83e6b02590f25704e24", "dest": "/tmp/index.html", "gid": 0, "group": "root", "md5sum": "23b07c0e7c4d143f3f877a7d0ed63099", "mode": "0644", "msg": "OK (33395 bytes)", "owner": "root", "size": 33395, "src": "/tmp/tmpxjpA9e", "state": "file", "uid": 0, "url": "http://redistat.quanmin.tv" }
本文出自 “深呼吸再出击” 博客,请务必保留此出处http://ckl893.blog.51cto.com/8827818/1887301
ansile(2)模块之get_url
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。