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 模块本身并不直接支持断点续传功能,但是可使用shell或command模块结合 wget 或 curl。以下是关于 get_url 模块的详细介绍和使用示例。
主要用途
- 下载文件:从指定的 URL 下载文件到目标主机。
- 支持身份验证:可以处理需要基本 HTTP 认证的网站。
- 校验和验证:下载后可以对文件进行校验和验证,以确保文件的完整性。
- 使用代理:支持通过代理服务器下载文件。
参数总结
-  url:- 描述:要下载文件的 URL。
- 类型:字符串
- 必需:是
 
-  dest:- 描述:下载文件的目标路径(必须为绝对路径)。
- 类型:字符串
- 必需:是
 
-  backup:- 描述:如果为 yes,在目标文件存在且内容发生更改时,将创建备份。
- 类型:布尔值
- 默认值:no
 
- 描述:如果为 
-  checksum:- 描述:指定下载文件的 SHA256 校验和,以确保文件的完整性。如果校验和不匹配,将发生错误。
- 类型:字符串
 
-  force:- 描述:如果为 yes,则总是下载文件,即使文件已存在。
- 类型:布尔值
- 默认值:no
 
- 描述:如果为 
-  timeout:- 描述:设置下载的超时时间(秒)。
- 类型:整数
- 默认值:10
 
-  headers:- 描述:传递给 HTTP 服务器的自定义头信息。
- 类型:字典
 
-  http_agent:- 描述:用于 HTTP 请求的用户代理字符串。
- 类型:字符串
 
-  username:- 描述:用于基本身份验证的用户名。
- 类型:字符串
 
-  password:- 描述:用于基本身份验证的密码。
- 类型:字符串
 
-  url_password:- 描述:用于 URL 访问的密码(用于处理 URL 中包含的密码)。
- 类型:字符串
 
-  url_username:- 描述:用于 URL 访问的用户名(用于处理 URL 中包含的用户名)。
- 类型:字符串
 
-  use_proxy:- 描述:是否使用代理。
- 类型:布尔值
- 默认值:yes
 
-  validate_certs:- 描述:使用 HTTPS 时是否验证 SSL 证书。
- 类型:布尔值
- 默认值:yes
 
-  client_cert:- 描述:用于身份验证的客户端证书文件路径。
- 类型:字符串
 
-  client_key:- 描述:用于身份验证的客户端密钥文件路径。
- 类型:字符串
 
-  sha256sum:- 描述:下载文件的 SHA256 校验和,以确保文件的完整性(checksum参数的别名)。
- 类型:字符串
 
- 描述:下载文件的 SHA256 校验和,以确保文件的完整性(
基本语法示例
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
相关文章:
Ansible——get_url模块
目录 主要用途 参数总结 基本语法示例 使用示例 示例1:下载文件 示例2:使用校验和验证文件 示例3:使用 HTTP 基本认证 示例4:通过代理服务器下载文件 示例5:设置文件权限、所有者和组 示例6:强制…...
 
macbook本地部署 pyhive环境连接 hive用例
前言 公司的测试和生产环境中尚未提供基于Hive的客户端。若希望尝试操作Hive表,目前一个可行的方案是使用Python语言,通过借助pyhive库,您可以对Hive表进行各种操作。以下是一些示例记录供您参考。 一、pyhive是什么? PyHive是一…...
 
物理安全防护如何创新强化信息安全体系?
物理安全防护是信息安全体系的重要组成部分,它通过保护实体设施、设备和介质等,防止未授权访问、破坏、盗窃等行为,从而为信息系统提供基础的安全保障。要创新强化信息安全体系中的物理安全防护,可以从以下几个方面着手࿱…...
 
【JAVASE】日期与时间类(上)
一:概述 从JAVA SE 8开始提供了java.time包,该包中有专门处理日期和时间的类。 LocalDate LocalDateTime 和LocalTime 类的对象封装和日期、时间有关的数据,这三个类都是final类,而且不提供修改数据的方法,即这…...
如果需要精确的答案,请避免使用float和double
float和double主要为了科学计算和工程计算而设计,执行二进制浮点运算,这是为了在广泛的数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不适合用于需要精确结果的场合,尤其是…...
 
大模型,也在卷价格
“百模大战”已从算力战、规模战蔓延到了价格战。 5月15日,字节跳动宣布豆包主力模型(小于等于32K)在企业市场的定价只有0.0008元/千Tokens,0.8厘就能处理1500多个汉字,比行业便宜99.3%;5月21日࿰…...
开关电源中电感设计
开关电源设计中电感 只有充分理解电感在DC/DC电路中发挥的作用,才能更优的设计DC/DC电路。本文还包括对同步DC/DC及异步DC/DC概念的解释。 在开关电源的设计中电感的设计为工程师带来的许多的挑战。工程师不仅要选择电感值,还要考虑电感可承受的电流,绕线电阻,机械尺寸等…...
 
机器视觉——硬件常用基础知识
光源 机器视觉中光源的作用 1)强化特征,弱化背景 2)光源打得好,图好了,后期算法更简化 3)图好了,测试速度更高 各种光源的综合性能对比及为啥使用LED灯 光的颜色的选择 白色光:通常用…...
宝塔 php7.4 安装SQLserver扩展
一、加入微软源 curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssqlrelease.repo二、安装odbc驱动程序 yum install msodbcsql mssql-tools unixODBC-devel 三、安装php7.4对应的pdo_sqlsrv扩展包 # 下载 wget http://pecl.php.net/…...
C++中的常见I/O方式
目录 摘要 1. 标准输入输出(Standard I/O) 2. 文件输入输出(File I/O) 3. 字符串流(String Stream) 4. 低级文件I/O(Low-level File I/O) 5. 内存映射文件(Memory-Mapped File I/O) 6. 网络I/O(Network I/O) 服务器端 客户端 摘要 C++中的输入输出操作(…...
 
Java Web学习笔记23——Vue项目简介
Vue项目简介: Vue项目-创建: 命令行:vue create vue-project01 图形化界面:vue ui 在命令行中切换到项目文件夹中,然后执行vue ui命令。 只需要路由功能。这个路由功能,开始不是很理解。 创建项目部保存…...
 
[UE 虚幻引擎] DTLoadFbx 运行时加载FBX本地模型插件说明
本插件可以在打包后运行时动态加载FBX模型。 新建一个Actor 并添加一个 DT Runtime Fbx Component。 然后直接调用组件的函数 LoadFile 加载显示模型(注:不支持模型动画) FilePath : 加载模型的绝对路径。 Create Collision : 是否创建碰撞…...
mysql log_bin
MySQL 开启配置binlog以及通过binlog恢复数据 https://blog.csdn.net/weixin_44606481/article/details/133344235 CentoS7 安装篇十二:mysql主从搭建(xtrackbackup不停机搭建) https://blog.csdn.net/chengxuyuanjava123/article/details/1…...
 
数据整理操作及众所周知【数据分析】
各位大佬好 ,这里是阿川的博客,祝您变得更强 个人主页:在线OJ的阿川 大佬的支持和鼓励,将是我成长路上最大的动力 阿川水平有限,如有错误,欢迎大佬指正 Python 初阶 Python–语言基础与由来介绍 Python–…...
maven的install不报错但deploy到nexus报400错误
一.情况描述 mvn install工程正常构建完成,但我mvn deploy报400错误,局域网maven组件仓库nexus也是正常的,deploy的帐号密码都是对的。报错信息如下: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plu…...
WebSocket前端分页:技术深度、实践困境与未来展望
WebSocket前端分页:技术深度、实践困境与未来展望 在前端开发的广阔领域中,WebSocket前端分页技术以其独特的优势逐渐崭露头角。它不仅为开发者带来了全新的交互体验,也为用户带来了更加流畅和高效的信息获取方式。然而,这一技术…...
 
基于jeecgboot-vue3的Flowable流程-待办任务(一)
因为这个项目license问题无法开源,更多技术支持与服务请加入我的知识星球。 1、ToDo.data.ts的数据信息如下 import {BasicColumn} from //components/Table; import {FormSchema} from //components/Table; import { rules} from //utils/helper/validator; impor…...
 
计算机网络--传输层
计算机网络--计算机网络概念 计算机网络--物理层 计算机网络--数据链路层 计算机网络--网络层 计算机网络--传输层 计算机网络--应用层 1. 概述 1.1 传输层的意义 网络层可以把数据从一个主机传送到另一个主机,但是没有和进程建立联系。 传输层就是讲进程和…...
 
【Vue】普通组件的注册使用-局部注册
文章目录 一、组件注册的两种方式二、使用步骤三、练习 一、组件注册的两种方式 局部注册:只能在注册的组件内使用 ① 创建 .vue 文件 (三个组成部分) 以.vue结尾的组件,一般也叫做 单文件组件,即一个组件就是组件里的全部内容 ② 在使用的组…...
 
搞编程学习时是如何查找资料的?
刚开始学编程时,我通常用百度、360这样的搜索引擎去找资料。但后来我发现,根据想找的东西不同,用的搜索地方也得变。比如说,找编程学习的东西,我就不太用浏览器了,因为那儿广告太多,信息乱七八糟…...
 
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
 
【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
 
PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
 
ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
 
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
