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这样的搜索引擎去找资料。但后来我发现,根据想找的东西不同,用的搜索地方也得变。比如说,找编程学习的东西,我就不太用浏览器了,因为那儿广告太多,信息乱七八糟…...

SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...

Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...