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

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...

深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...