|
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证书将不会验证。这只应在使用自签名证书的个人控制站点上使用。 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| # 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,并制定校验码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| # 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"
}
|
查看文件:
1
2
| # ll nginx-1.11.8.zip
-rwxr----- 1 ckl ckl 1398628 Dec 29 15:29 nginx-1.11.8.zip
|
3.下载文件指定用户名和密码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| 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"
}
|
|
|