当前位置: 首页 > news >正文

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

相关文章:

Ansible——get_url模块

目录 主要用途 参数总结 基本语法示例 使用示例 示例1&#xff1a;下载文件 示例2&#xff1a;使用校验和验证文件 示例3&#xff1a;使用 HTTP 基本认证 示例4&#xff1a;通过代理服务器下载文件 示例5&#xff1a;设置文件权限、所有者和组 示例6&#xff1a;强制…...

macbook本地部署 pyhive环境连接 hive用例

前言 公司的测试和生产环境中尚未提供基于Hive的客户端。若希望尝试操作Hive表&#xff0c;目前一个可行的方案是使用Python语言&#xff0c;通过借助pyhive库&#xff0c;您可以对Hive表进行各种操作。以下是一些示例记录供您参考。 一、pyhive是什么&#xff1f; PyHive是一…...

物理安全防护如何创新强化信息安全体系?

物理安全防护是信息安全体系的重要组成部分&#xff0c;它通过保护实体设施、设备和介质等&#xff0c;防止未授权访问、破坏、盗窃等行为&#xff0c;从而为信息系统提供基础的安全保障。要创新强化信息安全体系中的物理安全防护&#xff0c;可以从以下几个方面着手&#xff1…...

【JAVASE】日期与时间类(上)

一&#xff1a;概述 从JAVA SE 8开始提供了java.time包&#xff0c;该包中有专门处理日期和时间的类。 LocalDate LocalDateTime 和LocalTime 类的对象封装和日期、时间有关的数据&#xff0c;这三个类都是final类&#xff0c;而且不提供修改数据的方法&#xff0c;即这…...

如果需要精确的答案,请避免使用float和double

float和double主要为了科学计算和工程计算而设计&#xff0c;执行二进制浮点运算&#xff0c;这是为了在广泛的数值范围上提供较为精确的快速近似计算而精心设计的。然而&#xff0c;它们没有提供完全精确的结果&#xff0c;所以不适合用于需要精确结果的场合&#xff0c;尤其是…...

大模型,也在卷价格

“百模大战”已从算力战、规模战蔓延到了价格战。 5月15日&#xff0c;字节跳动宣布豆包主力模型&#xff08;小于等于32K&#xff09;在企业市场的定价只有0.0008元/千Tokens&#xff0c;0.8厘就能处理1500多个汉字&#xff0c;比行业便宜99.3%&#xff1b;5月21日&#xff0…...

开关电源中电感设计

开关电源设计中电感 只有充分理解电感在DC/DC电路中发挥的作用,才能更优的设计DC/DC电路。本文还包括对同步DC/DC及异步DC/DC概念的解释。 在开关电源的设计中电感的设计为工程师带来的许多的挑战。工程师不仅要选择电感值,还要考虑电感可承受的电流,绕线电阻,机械尺寸等…...

机器视觉——硬件常用基础知识

光源 机器视觉中光源的作用 1&#xff09;强化特征&#xff0c;弱化背景 2&#xff09;光源打得好&#xff0c;图好了&#xff0c;后期算法更简化 3&#xff09;图好了&#xff0c;测试速度更高 各种光源的综合性能对比及为啥使用LED灯 光的颜色的选择 白色光&#xff1a;通常用…...

宝塔 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项目简介&#xff1a; Vue项目-创建&#xff1a; 命令行&#xff1a;vue create vue-project01 图形化界面&#xff1a;vue ui 在命令行中切换到项目文件夹中&#xff0c;然后执行vue ui命令。 只需要路由功能。这个路由功能&#xff0c;开始不是很理解。 创建项目部保存…...

[UE 虚幻引擎] DTLoadFbx 运行时加载FBX本地模型插件说明

本插件可以在打包后运行时动态加载FBX模型。 新建一个Actor 并添加一个 DT Runtime Fbx Component。 然后直接调用组件的函数 LoadFile 加载显示模型&#xff08;注&#xff1a;不支持模型动画&#xff09; FilePath : 加载模型的绝对路径。 Create Collision : 是否创建碰撞…...

mysql log_bin

MySQL 开启配置binlog以及通过binlog恢复数据 https://blog.csdn.net/weixin_44606481/article/details/133344235 CentoS7 安装篇十二&#xff1a;mysql主从搭建&#xff08;xtrackbackup不停机搭建&#xff09; https://blog.csdn.net/chengxuyuanjava123/article/details/1…...

数据整理操作及众所周知【数据分析】

各位大佬好 &#xff0c;这里是阿川的博客&#xff0c;祝您变得更强 个人主页&#xff1a;在线OJ的阿川 大佬的支持和鼓励&#xff0c;将是我成长路上最大的动力 阿川水平有限&#xff0c;如有错误&#xff0c;欢迎大佬指正 Python 初阶 Python–语言基础与由来介绍 Python–…...

maven的install不报错但deploy到nexus报400错误

一.情况描述 mvn install工程正常构建完成&#xff0c;但我mvn deploy报400错误&#xff0c;局域网maven组件仓库nexus也是正常的&#xff0c;deploy的帐号密码都是对的。报错信息如下&#xff1a; [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plu…...

WebSocket前端分页:技术深度、实践困境与未来展望

WebSocket前端分页&#xff1a;技术深度、实践困境与未来展望 在前端开发的广阔领域中&#xff0c;WebSocket前端分页技术以其独特的优势逐渐崭露头角。它不仅为开发者带来了全新的交互体验&#xff0c;也为用户带来了更加流畅和高效的信息获取方式。然而&#xff0c;这一技术…...

基于jeecgboot-vue3的Flowable流程-待办任务(一)

因为这个项目license问题无法开源&#xff0c;更多技术支持与服务请加入我的知识星球。 1、ToDo.data.ts的数据信息如下 import {BasicColumn} from //components/Table; import {FormSchema} from //components/Table; import { rules} from //utils/helper/validator; impor…...

计算机网络--传输层

计算机网络--计算机网络概念 计算机网络--物理层 计算机网络--数据链路层 计算机网络--网络层 计算机网络--传输层 计算机网络--应用层 1. 概述 1.1 传输层的意义 网络层可以把数据从一个主机传送到另一个主机&#xff0c;但是没有和进程建立联系。 传输层就是讲进程和…...

【Vue】普通组件的注册使用-局部注册

文章目录 一、组件注册的两种方式二、使用步骤三、练习 一、组件注册的两种方式 局部注册&#xff1a;只能在注册的组件内使用 ① 创建 .vue 文件 (三个组成部分) 以.vue结尾的组件&#xff0c;一般也叫做 单文件组件&#xff0c;即一个组件就是组件里的全部内容 ② 在使用的组…...

搞编程学习时是如何查找资料的?

刚开始学编程时&#xff0c;我通常用百度、360这样的搜索引擎去找资料。但后来我发现&#xff0c;根据想找的东西不同&#xff0c;用的搜索地方也得变。比如说&#xff0c;找编程学习的东西&#xff0c;我就不太用浏览器了&#xff0c;因为那儿广告太多&#xff0c;信息乱七八糟…...

2024年AI大模型训练数据白皮书作用

2024年AI大模型训练数据白皮书 在人工智能迅猛发展的今天&#xff0c;AI大模型的训练数据质量和管理成为影响其性能和应用效果的关键因素。《2024年AI大模型训练数据白皮书》为业内人士提供了一份详尽的指南&#xff0c;揭示了当前AI大模型训练数据的最新趋势、最佳实践以及未…...

Highcharts 条形图:数据可视化利器

Highcharts 条形图:数据可视化利器 引言 在数据分析和信息展示领域,图表发挥着至关重要的作用。它们能够将复杂的数据以直观、易于理解的方式呈现给用户。Highcharts 是一个流行的 JavaScript 图表库,广泛用于创建交互式图表。其中,条形图作为一种基础但功能强大的图表类…...

算法——二分查找

介绍 二分查找是一个高效的查找算法&#xff0c;查找算法还有线性查找&#xff0c;它的时间复杂度为 O ( n ) O(n) O(n)&#xff0c;但二分查找的时间复杂度为 l o g ( n ) log(n) log(n)&#xff08;因为是2分&#xff0c;所以此处的log是以2为底的对数函数&#xff09;。 注…...

统计信号处理基础 习题解答10-8

题目 一个随机变量具有PDF 。希望在没有任何可用数据的情况下估计的一个现实。为此提出了使最小的MMSE估计量&#xff0c;其中期望仅是对求的。证明MMSE估计量为。将你的结果应用到例10.1&#xff0c;当把数据考虑进去时&#xff0c;证明最小贝叶斯MSE是减少的。 解答 在贝叶…...

Flutter打包网络问题解决办法

问题情况":app:compileReleaseJavaWithJavac" 报错的最主要问题其实在下一句 Failed to find Build Tools revision 30.0.3,请查看自己的Android sdk版本,比如我的就是’34.0.0’版本. 解决办法: 在app/build.gradle中的android下添加,即可 buildToolsVersion 3…...

【ARM Cache 及 MMU 系列文章 6.3 -- ARMv8/v9 Cache Tag数据读取及分析】

请阅读【ARM Cache 及 MMU/MPU 系列文章专栏导读】 及【嵌入式开发学习必备专栏】 文章目录 Cache Tag 数据读取测试代码Cache Tag 数据读取 在处理器中,缓存是一种快速存储资源,用于减少访问主内存时的延迟。缓存通过存储主内存中经常访问的数据来实现这一点。为了有效地管…...

Lua移植到标准ANSI C环境

本文目录 1、引言2、环境准备2.1 源码下载2.2 项目构建环境准备 3、项目编译3.1 添加main.c3.2 Kconfig选择模块3.3 项目构建3.4 项目编译 4、运行 文章对应视频教程&#xff1a; 在下方喔 ~~~ 欢迎关注 点击图片或链接访问我的B站主页~~~ lau解释器移植与功能验证 1、引言 本…...

crossover软件安装程序怎么安装 Crossover for Mac切换Windows系统 crossover软件怎么样

CrossOver Mac版是专为苹果电脑用户打造的一款实用工具&#xff0c;这款工具主要方便用户在Mac上运行windows系列的应用程序&#xff0c;用户不需要安装虚拟机就可以实现各种应用程序的直接应用&#xff0c;并且可以实现无缝集成&#xff0c;实现跨平台的复制粘贴和文件互通等&…...

【2024高考作文】新课标I卷-人工智能主题,用chatGPT作答

目录 &#x1f438;&#x1f438;作文真题 ⭐⭐1.chatGPT作答 ⭐⭐2.通义千问作答 ⭐⭐3.KiMi作答 整理不易&#xff0c;欢迎一键三连&#xff01;&#xff01;&#xff01; 送你们一条美丽的--分割线-- &#x1f438;&#x1f438;作文真题 随着互联网的普及、人工智能的…...

【计算机网络】P2 计算机网络体系结构基本概念,涉及分层的基本术语、SDU、PCI 与 PDU 的概念以及层次结构的含义

目录 概述分层的基本元组基本术语SDU、PCI 以及 PDU层次结构含义 概述 在两个系统中实体间的通信是一个很复杂的过程。而为了降低协议设计以及调试过程的复杂性&#xff0c;同时便于对网络进行研究、实现和维护&#xff0c;促进标准化工作&#xff0c;通常对计算机网络的体系结…...

做网站优化的话术/在线crm软件

这里有几个定义需要说一下&#xff0c;外设&#xff0c;顾名思义&#xff0c;就是IC芯片所接的能够与IC通信的外部设备。早起由于IC集成工艺不发达&#xff0c;很多东西都是外设的&#xff0c;在此以DSP芯片为例&#xff0c;比如PWM、ADC、CAN等等&#xff0c;原本都是需要芯片…...

做私服网站需要些什么/爱链接

一个iOS版本的OC代码&#xff0c;移植到Cocoa里之后有奇怪的报错&#xff0c;解决过程如下&#xff1a; &#xff08;1&#xff09; import <UIKit/UIKit.h> 替换为 import <Foundation/Foundation.h> &#xff08;2&#xff09; 之后还有报错&#xf…...

网站正在建设中单页/重庆seo推广外包

13.3.2 cocos2d项目如何支持ARCiOS 5中所支持的全新特性ARC&#xff08;Automatic Reference Counting&#xff09;首次在iOS系统中提供了自动内存管理&#xff0c;从而避免因为对retain、release、autorelease这些命令的错误调用而导致内存泄漏。实际上&#xff0c;Apple还成功…...

网站开发域名注册功能/图片识别 在线识图

《docker network网络》 一.docker容器网络的介绍 测试镜像&#xff1a;busybox (1)----单机网络&#xff0c;容器间的通讯 1>none 什么都没有的网络&#xff0c; docker run -it --networknone busybox 高隔离性网络&#xff0c;比如是生成随机验证码&#xff0c;可以不通过…...

南京企业做网站/营销100个引流方案

第二题生日蜡烛(结果填空)某君从某年开始每年都举办一次生日party&#xff0c;并且每次都要吹熄与年龄相同根数的蜡烛。现在算起来&#xff0c;他一共吹熄了236根蜡烛。请问&#xff0c;他从多少岁开始过生日party的&#xff1f;请填写他开始过生日party的年龄数。注意&#xf…...

网站建设需要敲代码吗/前端开发培训机构推荐

在使用modelsim仿真DDR2时&#xff0c;一般我们会用美光网站上下载的DDR2仿真模型。仿真模型文件一般有ddr2_module.v&#xff0c;ddr2.v&#xff0c;ddr2_mcp.v&#xff0c;ddr2_parameters.vh&#xff0c;subtest.vh&#xff0c;在电子论坛上下载的&#xff0c;一般还会带有t…...