Ansible——get_url模块

 目录

主要用途

参数总结

基本语法示例

使用示例

示例1:下载文件

示例2:使用校验和验证文件

示例3:使用 HTTP 基本认证

示例4:通过代理服务器下载文件

示例5:设置文件权限、所有者和组

示例6:强制重新下载文件

示例7:设置下载超时时间

综合示例

示例8:下载文件并设置各种参数

Playbook示例

基础用法

示例1:下载文件

高级用法

示例2:使用校验和验证文件

示例3:使用 HTTP 基本认证

示例4:通过代理服务器下载文件

示例5:设置文件权限、所有者和组

特殊用法

示例6:强制重新下载文件

示例7:设置下载超时时间

集合示例


get_url 模块是 Ansible 中的一个内置模块,用于从指定的 URL 下载文件到目标主机。它可以处理通过 HTTP、HTTPS、FTP 等协议下载文件,并支持多种功能如基本的身份认证、代理设置、校验和验证等。Ansible 的 get_url 模块本身并不直接支持断点续传功能,但是可使用shellcommand模块结合 wget 或 curl。以下是关于 get_url 模块的详细介绍和使用示例。

 

主要用途

  1. 下载文件:从指定的 URL 下载文件到目标主机。
  2. 支持身份验证:可以处理需要基本 HTTP 认证的网站。
  3. 校验和验证:下载后可以对文件进行校验和验证,以确保文件的完整性。
  4. 使用代理:支持通过代理服务器下载文件。

 

参数总结

  1. url:

    • 描述:要下载文件的 URL。
    • 类型:字符串
    • 必需:是
  2. dest:

    • 描述:下载文件的目标路径(必须为绝对路径)。
    • 类型:字符串
    • 必需:是
  3. backup:

    • 描述:如果为 yes,在目标文件存在且内容发生更改时,将创建备份。
    • 类型:布尔值
    • 默认值:no
  4. checksum:

    • 描述:指定下载文件的 SHA256 校验和,以确保文件的完整性。如果校验和不匹配,将发生错误。
    • 类型:字符串
  5. force:

    • 描述:如果为 yes,则总是下载文件,即使文件已存在。
    • 类型:布尔值
    • 默认值:no
  6. timeout:

    • 描述:设置下载的超时时间(秒)。
    • 类型:整数
    • 默认值:10
  7. headers:

    • 描述:传递给 HTTP 服务器的自定义头信息。
    • 类型:字典
  8. http_agent:

    • 描述:用于 HTTP 请求的用户代理字符串。
    • 类型:字符串
  9. username:

    • 描述:用于基本身份验证的用户名。
    • 类型:字符串
  10. password:

    • 描述:用于基本身份验证的密码。
    • 类型:字符串
  11. url_password:

    • 描述:用于 URL 访问的密码(用于处理 URL 中包含的密码)。
    • 类型:字符串
  12. url_username:

    • 描述:用于 URL 访问的用户名(用于处理 URL 中包含的用户名)。
    • 类型:字符串
  13. use_proxy:

    • 描述:是否使用代理。
    • 类型:布尔值
    • 默认值:yes
  14. validate_certs:

    • 描述:使用 HTTPS 时是否验证 SSL 证书。
    • 类型:布尔值
    • 默认值:yes
  15. client_cert:

    • 描述:用于身份验证的客户端证书文件路径。
    • 类型:字符串
  16. client_key:

    • 描述:用于身份验证的客户端密钥文件路径。
    • 类型:字符串
  17. sha256sum:

    • 描述:下载文件的 SHA256 校验和,以确保文件的完整性(checksum 参数的别名)。
    • 类型:字符串

 

 

基本语法示例

Ansible 命令行直接使用 get_url 模块的基本语法如下:

ansible <host-pattern> -m get_url -a "url=<URL> dest=<目的路径> [其他参数]"

使用示例

示例1:下载文件

从指定 URL 下载文件到远程主机的指定路径:

ansible all -m get_url -a "url=http://example.com/sample.txt dest=/tmp/sample.txt"

示例2:使用校验和验证文件

通过校验和验证下载后的文件:

ansible all -m get_url -a "url=http://example.com/sample.txt dest=/tmp/sample.txt checksum=md5:5d41402abc4b2a76b9719d911017c592"

示例3:使用 HTTP 基本认证

下载一个需要认证的文件:

ansible all -m get_url -a "url=http://example.com/private.txt dest=/tmp/private.txt url_username=myuser url_password=mypassword"

示例4:通过代理服务器下载文件

通过代理服务器下载文件:

ansible all -m get_url -a "url=http://example.com/sample.txt dest=/tmp/sample.txt use_proxy=yes http_proxy=http://proxy.example.com:8080"

示例5:设置文件权限、所有者和组

下载文件并设置权限、所有者和组:

ansible all -m get_url -a "url=http://example.com/sample.txt dest=/tmp/sample.txt mode=0644 owner=myuser group=mygroup"

示例6:强制重新下载文件

即使文件已经存在,也强制重新下载:

ansible all -m get_url -a "url=http://example.com/sample.txt dest=/tmp/sample.txt force=yes"

示例7:设置下载超时时间

设置下载操作的超时时间为 30 秒:

ansible all -m get_url -a "url=http://example.com/sample.txt dest=/tmp/sample.txt timeout=30"

综合示例

示例8:下载文件并设置各种参数
ansible all -m get_url -a "url=http://example.com/sample.txt dest=/tmp/sample.txt mode=0644 owner=myuser group=mygroup force=yes timeout=30 checksum=md5:5d41402abc4b2a76b9719d911017c592"

 

 

Playbook示例

基础用法

示例1:下载文件

从指定 URL 下载文件到远程主机的指定路径:

---
- name: Download a file from URLhosts: alltasks:- name: Download a fileget_url:url: http://example.com/sample.txtdest: /tmp/sample.txt

高级用法

示例2:使用校验和验证文件

通过校验和验证下载后的文件,以确保其完整性:

---
- name: Download a file with checksum verificationhosts: alltasks:- name: Download with checksumget_url:url: http://example.com/sample.txtdest: /tmp/sample.txtchecksum: "md5:5d41402abc4b2a76b9719d911017c592"

示例3:使用 HTTP 基本认证

下载需要认证的文件,可以提供用户名和密码:

---
- name: Download a file with HTTP authenticationhosts: alltasks:- name: Download with basic authget_url:url: http://example.com/private.txtdest: /tmp/private.txturl_username: myuserurl_password: mypassword

示例4:通过代理服务器下载文件

通过代理服务器下载文件:

---
- name: Download a file using a proxyhosts: alltasks:- name: Download with proxyget_url:url: http://example.com/sample.txtdest: /tmp/sample.txtuse_proxy: yeshttp_proxy: http://proxy.example.com:8080

示例5:设置文件权限、所有者和组

下载文件并设置权限、所有者和组:

---
- name: Download a file and set permissionshosts: alltasks:- name: Download and set file attributesget_url:url: http://example.com/sample.txtdest: /tmp/sample.txtmode: '0644'owner: myusergroup: mygroup

特殊用法

示例6:强制重新下载文件

即使文件已经存在,强制重新下载:

---
- name: Force re-download a filehosts: alltasks:- name: Force downloadget_url:url: http://example.com/sample.txtdest: /tmp/sample.txtforce: yes

示例7:设置下载超时时间

设置下载操作的超时时间,以避免长时间挂起:

---
- name: Download a file with a timeouthosts: alltasks:- name: Download with timeoutget_url:url: http://example.com/sample.txtdest: /tmp/sample.txttimeout: 30

集合示例

结合多个参数达到复杂需求:

---
- name: Comprehensive example of get_url usagehosts: alltasks:- name: Download a public fileget_url:url: http://example.com/public.txtdest: /tmp/public.txt- name: Download a file with checksum verificationget_url:url: http://example.com/sample.txtdest: /tmp/sample.txtchecksum: "md5:5d41402abc4b2a76b9719d911017c592"- name: Download a file with HTTP authenticationget_url:url: http://example.com/private.txtdest: /tmp/private.txturl_username: myuserurl_password: mypassword- name: Download a file using a proxyget_url:url: http://example.com/sample-proxy.txtdest: /tmp/sample-proxy.txtuse_proxy: yeshttp_proxy: http://proxy.example.com:8080- name: Download a file and set permissionsget_url:url: http://example.com/sample-permissions.txtdest: /tmp/sample-permissions.txtmode: '0644'owner: myusergroup: mygroup- name: Force re-download a fileget_url:url: http://example.com/sample-force.txtdest: /tmp/sample-force.txtforce: yes- name: Download a file with a timeoutget_url:url: http://example.com/sample-timeout.txtdest: /tmp/sample-timeout.txttimeout: 30

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/24107.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5.31.15 使用图像到图像转换和 YOLO 技术对先前的乳房 X 光检查结果中的异常进行早期检测和分类

在本研究中&#xff0c;我们研究了基于 You-Only-Look-Once (YOLO) 架构的端到端融合模型的有效性&#xff0c;该模型可同时检测和分类数字乳房 X 光检查中的可疑乳腺病变。包括四类病例&#xff1a;肿块、钙化、结构扭曲和正常&#xff0c;这些病例来自包含 413 个病例的私人数…

ic基础|复位篇02:芯片中的“人生重来枪”!crg之复位系统

大家好&#xff0c;我是数字小熊饼干&#xff0c;一个练习时长两年半的ic打工人。我在两年前通过自学跨行社招加入了IC行业。现在我打算将这两年的工作经验和当初面试时最常问的一些问题进行总结&#xff0c;并通过汇总成文章的形式进行输出&#xff0c;相信无论你是在职的还是…

范闲获取到庆帝与神庙的往来信件,用AES进行破解

关注微信公众号 数据分析螺丝钉 免费领取价值万元的python/java/商业分析/数据结构与算法学习资料 在《庆余年2》中&#xff0c;范闲与庆帝和神庙之间的权谋斗争愈演愈烈。一次偶然的机会&#xff0c;范闲从庆帝的密室中获取到几封与神庙往来的密信。然而&#xff0c;这封信件…

eclipse连接后端mysql数据库并且查询

教学视频&#xff1a;https://www.bilibili.com/video/BV1mK4y157kE/?spm_id_from333.337.search-card.all.click&vd_source26e80390f500a7ceea611e29c7bcea38本人eclipse和up主不同的地方如下&#xff0c;右键项目名称->build path->configure build path->Libr…

【悬架笔记三】1/4被动悬架垂向动力学仿真+频域特性分析

1/4被动悬架 代码&#xff1a; %书第156页、159页 clc clear close all %% 一.悬架参数 ms320; mw50; Ks22000; Cs1500; Kw195000; f00.07; %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 二.垂向振动动力学仿真 %% 二.1.状态方程 A [0 1 0 -1;.…

机器人--矩阵运算

两个矩阵相乘的含义 P点在坐标系B中的坐标系PB&#xff0c;需要乘以B到A到变换矩阵TAB。 M点在B坐标系中的位姿MB&#xff0c;怎么计算M在A中的坐标系&#xff1f; 一个矩阵*另一个矩阵的逆矩阵

JavaSE 实战五子棋中国象棋(单机简易版)

介绍 JavaSE实践五子棋和中国象棋游戏&#xff0c;棋盘&#xff0c;棋子绘制&#xff0c;输赢判定重置棋盘&#xff0c;单机博弈。 五子棋棋盘 中国象棋棋盘 使用说明 启动类 Main.java&#xff0c; 面板类 Panel.java绘制棋盘和玩法&#xff0c;实体类 ChessPiecesNode.jav…

适配器模式 Adapter

一种结构型设计模式&#xff0c;它允许将不兼容的对象转换成可兼容的接口。主要目的是解决在不改变现有代码的情况下&#xff0c;使不兼容的接口之间能够正常工作&#xff0c;通过创建一个中间转换的适配器来将一个对象转换成我们所需要的接口。 场景&#xff1a; 当你原来的某…

【Text2SQL 论文】MAC-SQL:多个 Agents 合作来解决 Text2SQL

论文&#xff1a;MAC-SQL: A Multi-Agent Collaborative Framework for Text-to-SQL ⭐⭐⭐⭐ arXiv:2312.11242, 北航 & Tencent Code: MAC-SQL | GitHub 文章目录 一、论文速读二、MAC-SQL2.1 Selector agent2.2 Decomposer agent2.3 Refiner agent 三、指令微调的 SQL-L…

2024.06.07【读书笔记】丨生物信息学与功能基因组学(第十一章 分子水平的系统发生和进化 第四部分)【AI测试版】

读书笔记四&#xff1a;《生物信息学与功能基因组学》第十一章第四部分 分子系统发生的专用名词与树的拓扑结构 在《生物信息学与功能基因组学》第十一章的第四部分&#xff0c;作者介绍了分子系统发生分析中的专用名词&#xff0c;并详细解释了系统发生树的拓扑结构和分支长…

【Python Cookbook】S02E04 文本模式的匹配和查找 match()、search()、findall() 以及 捕获组和 + 的含义

目录 问题解决方案讨论 问题 本文讨论一些按照特定的文本模式进行的查找和匹配。 解决方案 如果想要匹配的只是简单文字&#xff0c;通常我们使用一些内置的基本字符串方法即可&#xff0c;如&#xff1a;str.find()&#xff0c;str.startwith()&#xff0c;str.endswith() …

Day49 动态规划part08

LC139单词拆分(未掌握) 未掌握分析&#xff1a;将字符串s中的各个字符看成是背包&#xff0c;思考成了多重背包问题单词就是物品&#xff0c;字符串s就是背包&#xff0c;单词能否组成字符串s&#xff0c;就是问物品能不能把背包装满。拆分时可以重复使用字典中的单词&#xf…

转速传感器介绍

一、概述 RPM&#xff08;Revolutions Per Minute&#xff09;转速传感器是一种用于测量旋转机械设备转速的传感器。它可以检测旋转部件上的特定位置标记&#xff08;如齿轮、凸起或磁铁&#xff09;&#xff0c;并根据这些标记的通过频率来计算转速。发电额定频率是50hz和60z…

ubuntu18.04环境下,arduino ide在打开串口监视器时报错

ubuntu18.04环境下&#xff0c;arduino ide在打开串口监视器时报错 Exception in thread “AWT-EventQueue-0” java.lang.UnsatisfiedLinkError: /home/lzx/.jssc/linux/libjSSC-2.8_x86_64.so: /home/lzx/.jssc/linux/libjSSC-2.8_x86_64.so: file too short 这个错误表明 li…

力扣1574.删除最短的子数组使剩余数组有序

力扣1574.删除最短的子数组使剩余数组有序 剩下有序 –> 前面一段 后面一段 有序 前面有序 后面有序 前面最后一项 < 后面第一项先反向遍历找到right的最小值然后正向遍历找left的最大值当nums[left] > nums[right]时 right class Solution {public:int findLen…

java线程变量共享

在Java中&#xff0c;线程变量共享可以通过几种方式实现&#xff1a; 1.实例变量&#xff1a;如果一个实例变量被多个线程共享&#xff0c;你需要确保适当的同步&#xff0c;以避免竞态条件。你可以使用synchronized关键字或者Lock接口来保护共享变量。 2.静态变量&#xff1a;…

openh264 降噪功能源码分析

文件位置 ● openh264/codec/processing/denoise/denoise.cpp ● openh264/codec/processing/denoise/denoise_filter.cpp 代码流程 说明&#xff1a;从代码流程可以看到&#xff0c;实现降噪的核心功能主要就是BilateralDenoiseLuma、WaverageDenoiseChroma两个函数。 原理…

SOA主要协议和规范

Web服务作为实现SOA中服务的最主要手段。首先来了解Web Service相关的标准。它们大多以“WS-”作为名字的前缀&#xff0c;所以统称“WS-*”。Web服务最基本的协议包括UDDI、WSDL和SOAP&#xff0c;通过它们&#xff0c;可以提供直接而又简单的Web Service支持&#xff0c;如图…

代码随想录算法训练营第十五天| 110.平衡二叉树、 257. 二叉树的所有路径、404.左叶子之和

110.平衡二叉树 题目链接&#xff1a;110.平衡二叉树 文档讲讲&#xff1a;代码随想录 状态&#xff1a;还可以 思路&#xff1a;计算左右子树的深度差&#xff0c;递归判断左右子树是否符合平衡条件 题解&#xff1a; public boolean isBalanced(TreeNode root) {if (root n…

覆盖路径规划经典算法 The Boustrophedon Cellular Decomposition 详解

2000年一篇论文 Coverage of Known Spaces: The Boustrophedon Cellular Decomposition 横空出世&#xff0c;解决了很多计算机和机器人领域的覆盖路径问题&#xff0c;今天我来详细解读这个算法。 The Boustrophedon Cellular Decomposition 算法详解 这篇论文标题为"C…