设为首页 收藏本站
查看: 2829|回复: 0

[经验分享] ansile(2)模块之get_url

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-12-30 10:19:04 | 显示全部楼层 |阅读模式
ansible  get_url将文件从HTTP,HTTPS或FTP下载到节点
参数是否必须
默认选项说明
attributesnoNoneyes
no
文件或目录的属性应该是。要获得支持的标志,请查看taget系统上chattr的手册页.
backupnono
创建一个包括时间戳信息的备份文件,这样你可以得到原始文件,如果你不正确地弄错了。
checksumno

如果将校验和传递给此参数,则将在下载目标文件的摘要后计算摘要,以确保其完整性,并验证传输是否成功完成。格式:<algorithm>:<checksum>,例如:checksum =“sha256:D98291AC [...] B6DC7B97”如果你担心可移植性,只有sha1算法可用于所有平台和python版本。可以安装第三方hashlib库以访问其他算法。此外,如果将校验和传递给此参数,并且文件位于dest位置下,则将计算destination_checksum,如果校验和等于destination_checksum,则将跳过文件下载(除非force为true)。
destyes

将文件下载到的绝对路径。如果dest是目录,则服务器提供的文件名,如果没有提供,则将使用远程服务器上的URL的基本名称。如果一个目录,force没有效果。如果dest是一个目录,文件将总是被下载(不管force选项),但是只有当内容改变时才被替换。
forcenono
yes
no
如果是的,dest不是目录,将每次下载文件,如果内容改变,替换文件。如果否,则只有在目标不存在时才会下载该文件。一般应该是只对小的本地文件。在0.6之前,此模块的行为好像是默认值。
force_basic_authnono
yes
no
httplib2,uri模块使用的库只会在webservice以401状态响应初始请求时发送身份验证信息。由于一些基本的auth服务没有正确发送401,登录将失败。此选项强制在初始请求时发送Basic认证头。
groupno

应该拥有文件/目录的组的名称,将被发送到chown。
headersno

以格式“key:value,key:value”向请求添加自定义HTTP标头
modeno

模式文件或目录应该是。对于那些用于/ usr / bin / chmod的记住,模式实际上是八进制数字(如0644)。离开领先的零可能会有意想不到的结果。从版本1.8起,模式可以被指定为符号模式(例如,u + rwx或u = rw,g = r,o = r)。
othersno

文件模块接受的所有参数也在这里工作
ownerno

应该拥有文件/目录的用户的名称,将被发送到chown。
selevelnos0
SELinux文件上下文的级别部分。这是MLS / MCS属性,有时称为范围。 _default功能与seuser相同。
seroleno

SELinux文件上下文的角色部分,_default功能与seuser一样。
setypeno

键入SELinux文件上下文的一部分,_default功能与seuser一样工作.
sha256sumno

如果将SHA-256校验和传递给此参数,则将在下载目标文件的摘要后计算摘要,以确保其完整性,并验证传输是否成功完成。此选项已弃用。使用'校验和'。
timeoutno

网址请求的超时(以秒为单位)
tmp_destno

临时文件下载到的绝对路径。默认为TMPDIR,TEMP或TMP env变量或特定于平台的值
https://docs.python.org/2/library/tempfile.html#tempfile.tempdir
unsafe_writesno

通常,此模块使用原子操作来防止数据损坏或从目标文件读取不一致,有时系统配置或只是破坏以防止这种情况。一个例子是docker挂载的文件,它们不能被原子地更新,并且只能以不安全的方式完成。这个布尔选项允许ansible回退到不安全的更新文件的方法,在那些没有任何其他选择的情况下。请注意,这是受种族条件的制约,可能导致数据损坏。
urlyes

HTTP, HTTPS, or FTP URL in the form
url_passwordno

用于HTTP基本认证的密码。如果未指定url_username参数,则不会使用url_password参数。
url_usernameno

用于HTTP基本认证的用户名。对于允许空密码的站点,可以在不使用url_password的情况下使用此参数。
use_proxynoyes
yes
no
如果没有,它将不使用代理,即使在目标主机上的环境变量中定义了一个代理。
validate_certsnoyes
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"
}






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-321501-1-1.html 上篇帖子: ansile(2)模块之yum 下篇帖子: ansile(2)模块之iptable
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表