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

Ansible——unarchive模块

目录

参数总结

基础语法

常见的命令行示例

示例1:解压缩文件到指定目录

示例2:解压缩文件并设置权限

示例3:远程URL解压缩

示例4:强制覆盖现有文件

具体步骤和示例

示例5:只要文件解压后,如果存在相同文件则跳过

示例6:指定远程主机解压文件

Playbook示例

基本用法示例

示例1:从控制机复制并解压文件到远程主机

示例2:直接在目标主机上解压文件

示例3:解压缩 ZIP 文件

高级用法示例

示例4:设置解压后的文件权限

示例5:下载并解压远程 URL 文件

示例6:使用 creates 参数防止重复解压

示例7:传递解压命令的额外参数

示例8:多任务解压缩

综述示例


 

Ansible 的 unarchive 模块用于解压缩和提取文件。该模块支持多种压缩格式,如.tar,.tar.gz,.zip 等。unarchive 模块可以将压缩文件解压到指定的目标目录,非常方便地在远程主机上分发和安装包文件。

参数总结

  1. src:

    • 描述:要解压缩的文件路径,可以是本地路径或远程 URL。
    • 类型:字符串
    • 必需:是
  2. dest:

    • 描述:解压缩文件的目标路径。
    • 类型:字符串
    • 默认值:当前工作目录
  3. remote_src:

    • 描述:如果为 yes,则将 src 参数指定的文件视为远程文件。如果为 no,则将其视为本地文件。
    • 类型:布尔值
    • 默认值:no
  4. remote_src_dest:

    • 描述:如果为 yes,则将 dest 参数指定的路径视为远程路径。如果为 no,则将其视为本地路径。
    • 类型:布尔值
    • 默认值:no
  5. extra_opts:

    • 描述:额外的解压缩选项,作为字符串传递。
    • 类型:字符串
    • 默认值:无
  6. copy:

    • 描述:如果为 yes,则将文件复制到 dest 目录,而不是在原地解压缩。
    • 类型:布尔值
    • 默认值:no
  7. creates:

    • 描述:如果指定路径存在,则不执行解压操作。
    • 类型:字符串
    • 默认值:无
  8. extract:

    • 描述:指定要使用的解压缩命令。
    • 类型:字符串
    • 默认值:根据文件扩展名自动检测

 

 

基础语法

ansible <hostname or group> -m unarchive -a "src=<source_archive_path> dest=<destination_directory_path> [optional_arguments]" [options]

常见的命令行示例

示例1:解压缩文件到指定目录
ansible all -m unarchive -a "src=/path/to/archive.tar.gz dest=/path/to/destination" --become

此命令会将 /path/to/archive.tar.gz 解压到 /path/to/destination 目录。--become 选项用于以特权执行。

示例2:解压缩文件并设置权限
ansible all -m unarchive -a "src=/path/to/archive.zip dest=/path/to/destination mode=0644" --become

此命令会将 /path/to/archive.zip 解压到 /path/to/destination 目录,并将解压后的文件权限设置为 0644

示例3:远程URL解压缩
ansible all -m unarchive -a "src=http://example.com/archive.tar.gz dest=/path/to/destination" --become

此命令会从 http://example.com/archive.tar.gz 下载压缩包并解压到 /path/to/destination 目录。

示例4:强制覆盖现有文件
ansible all -m unarchive -a "src=/path/to/archive.tar.gz dest=/path/to/destination extra_opts=--overwrite" --become

此命令会将 /path/to/archive.tar.gz 解压到 /path/to/destination 目录,并强制覆盖现有文件。

具体步骤和示例

示例5:只要文件解压后,如果存在相同文件则跳过
ansible all -m unarchive -a "src=/path/to/archive.tar.gz dest=/path/to/destination keep_newer=yes" --become

此命令会将 /path/to/archive.tar.gz 解压到 /path/to/destination 目录,但是会保留比压缩包内更新的文件。

示例6:指定远程主机解压文件
ansible target_host -m unarchive -a "src=/path/to/archive.tar.gz dest=/path/to/destination" --become

此命令会在 target_host 主机上,将 /path/to/archive.tar.gz 解压到 /path/to/destination 目录。

Playbook示例

基本用法示例

示例1:从控制机复制并解压文件到远程主机
---
- name: Unarchive from control machine to remotehosts: alltasks:- name: Extract file to remote machineunarchive:src: /path/to/file.tar.gzdest: /path/to/destination/

示例2:直接在目标主机上解压文件
---
- name: Unarchive from remote sourcehosts: alltasks:- name: Extract file that is already on remote machineunarchive:src: /path/to/file.tar.gzdest: /path/to/destination/remote_src: yes

示例3:解压缩 ZIP 文件
---
- name: Unarchive a zip filehosts: alltasks:- name: Extract zip file to remote machineunarchive:src: /path/to/file.zipdest: /path/to/destination/

高级用法示例

示例4:设置解压后的文件权限
---
- name: Unarchive with custom file permissionshosts: alltasks:- name: Extract file with specific permissionsunarchive:src: /path/to/file.tar.gzdest: /path/to/destination/mode: '0755'

示例5:下载并解压远程 URL 文件
---
- name: Unarchive from a remote URLhosts: alltasks:- name: Download and extract file from URLunarchive:src: http://example.com/file.tar.gzdest: /path/to/destination/

示例6:使用 creates 参数防止重复解压
---
- name: Unarchive skipping if file already existshosts: alltasks:- name: Unarchive only if specific file does not existunarchive:src: /path/to/file.tar.gzdest: /path/to/destination/creates: /path/to/destination/extracted_file
示例7:传递解压命令的额外参数
---
- name: Unarchive with extra optionshosts: alltasks:- name: Extract file with extra optionsunarchive:src: /path/to/file.tar.gzdest: /path/to/destination/extra_opts: ['--strip-components=1']

示例8:多任务解压缩
---
- name: Unarchive multiple fileshosts: alltasks:- name: Unarchive first fileunarchive:src: /path/to/first_file.tar.gzdest: /path/to/first_destination/- name: Unarchive second fileunarchive:src: /path/to/second_file.zipdest: /path/to/second_destination/

综述示例

全面展示各种参数的使用方法:

---
- name: Comprehensive unarchive examplehosts: alltasks:- name: Unarchive file with various optionsunarchive:src: /path/to/file.tar.gzdest: /path/to/destination/copy: yesmode: '0755'creates: /path/to/destination/already_extracted_fileextra_opts: ['--strip-components=1']remote_src: yeskeep_newer: yes

相关文章:

Ansible——unarchive模块

目录 参数总结 基础语法 常见的命令行示例 示例1&#xff1a;解压缩文件到指定目录 示例2&#xff1a;解压缩文件并设置权限 示例3&#xff1a;远程URL解压缩 示例4&#xff1a;强制覆盖现有文件 具体步骤和示例 示例5&#xff1a;只要文件解压后&#xff0c;如果存在…...

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;即一个组件就是组件里的全部内容 ② 在使用的组…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer &#xff08;1&#xff09;资源 论文&a…...

Kafka入门-生产者

生产者 生产者发送流程&#xff1a; 延迟时间为0ms时&#xff0c;也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于&#xff1a;异步发送不需要等待结果&#xff0c;同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1&#xff09;准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2&#xff09;服务端安装软件&#xff1a;bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业&#xff0c;那宇树科技&#xff08;Unitree&#xff09;必须名列其榜。 最近&#xff0c;宇树科技的一项新变动消息在业界引发了不少关注和讨论&#xff0c;即&#xff1a; 宇树向其合作伙伴发布了一封公司名称变更函称&#xff0c;因…...

MyBatis中关于缓存的理解

MyBatis缓存 MyBatis系统当中默认定义两级缓存&#xff1a;一级缓存、二级缓存 默认情况下&#xff0c;只有一级缓存开启&#xff08;sqlSession级别的缓存&#xff09;二级缓存需要手动开启配置&#xff0c;需要局域namespace级别的缓存 一级缓存&#xff08;本地缓存&#…...