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这样的搜索引擎去找资料。但后来我发现,根据想找的东西不同,用的搜索地方也得变。比如说,找编程学习的东西,我就不太用浏览器了,因为那儿广告太多,信息乱七八糟…...
用 OpenAI Codex 打造你的 AI 结对编程助手
用 OpenAI Codex 打造你的 AI 结对编程助手 告别重复劳动,让 AI 直接帮你写代码、修 Bug、跑测试 在 AI 编程工具层出不穷的今天,OpenAI Codex 依然是许多开发者心目中的“神器”。与普通的代码补全工具不同,Codex 是一款终端原生的 AI 编程助…...
ae新手福音,用快马平台ai生成带注释的片段视频代码轻松入门
作为一个刚接触AE的新手,第一次打开软件时确实被复杂的界面吓到了。各种面板、时间轴、效果控件看得眼花缭乱,更别说要自己写表达式了。直到发现了InsCode(快马)平台,用自然语言描述就能生成带详细注释的AE项目代码,简直是新手的救…...
告别“替身攻击”:手把手教你用零阶优化(ZOO)直接黑盒攻击DNN模型
零阶优化实战:无需替代模型的黑盒对抗攻击指南 当面对一个部署在云端的深度学习API时,传统白盒攻击手段往往束手无策——既无法获取模型架构,也不能执行反向传播。本文将揭示如何运用零阶优化技术,仅通过输入输出查询就能构造高效…...
OpenRocket:从设计到飞行的全链路火箭仿真实战指南
OpenRocket:从设计到飞行的全链路火箭仿真实战指南 【免费下载链接】openrocket Model-rocketry aerodynamics and trajectory simulation software 项目地址: https://gitcode.com/GitHub_Trending/op/openrocket 火箭爱好者与工程师的终极工具:…...
OpenRGB:如何用一个免费开源软件统一管理所有RGB灯光设备?
OpenRGB:如何用一个免费开源软件统一管理所有RGB灯光设备? 【免费下载链接】OpenRGB Open source RGB lighting control that doesnt depend on manufacturer software. Supports Windows, Linux, MacOS. Mirror of https://gitlab.com/CalcProgrammer1/…...
大语言模型应用落地:从RAG到工作流,IT企业智能转型全攻略!
引言检索增强生成(RAG)微调(Fine-Tuning)智能体(Agents)工作流与流程编排(Workflow)企业落地策略与阶段规划落地难点与最佳实践建议结语引言大语言模型(LLM)技…...
RAG知识库落地秘籍:从零到一打造企业智能问答系统,提升效率与用户体验!
有幸参与并主导实施的第二个AI 大模型应用项目就是“AI知识库”或者叫“智能问答”,也是接下来要介绍的内容。整篇文章将围绕着以下几个议题进行展开,内容上更侧重概念理解、落地方法路径、实施效果保障以及经验总结,不会在这里探讨具体技术细…...
Windows Defender Remover:彻底移除Windows安全组件的终极解决方案
Windows Defender Remover:彻底移除Windows安全组件的终极解决方案 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://gitcode.com/gh…...
Windows 11下保姆级安装Isaac Sim 4.5.0与Isaac Lab避坑全记录(含CUDA 12.8配置)
Windows 11下Isaac Sim 4.5.0与Isaac Lab全流程部署指南(RTX 4090实测版) 对于机器人仿真和AI开发领域的从业者来说,NVIDIA Isaac Sim和Isaac Lab无疑是当前最强大的工具组合之一。然而,当我在自己的RTX 4090显卡上首次尝试部署这…...
WeMod Pro免费解锁终极指南:两种补丁方法完整对比与实战教程
WeMod Pro免费解锁终极指南:两种补丁方法完整对比与实战教程 【免费下载链接】Wemod-Patcher WeMod patcher allows you to get some WeMod Pro features absolutely free 项目地址: https://gitcode.com/gh_mirrors/we/Wemod-Patcher 还在为WeMod Pro的高级…...
