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 模块可以将压缩文件解压到指定的目标目录,非常方便地在远程主机上分发和安装包文件。
参数总结
-
src:- 描述:要解压缩的文件路径,可以是本地路径或远程 URL。
- 类型:字符串
- 必需:是
-
dest:- 描述:解压缩文件的目标路径。
- 类型:字符串
- 默认值:当前工作目录
-
remote_src:- 描述:如果为
yes,则将src参数指定的文件视为远程文件。如果为no,则将其视为本地文件。 - 类型:布尔值
- 默认值:
no
- 描述:如果为
-
remote_src_dest:- 描述:如果为
yes,则将dest参数指定的路径视为远程路径。如果为no,则将其视为本地路径。 - 类型:布尔值
- 默认值:
no
- 描述:如果为
-
extra_opts:- 描述:额外的解压缩选项,作为字符串传递。
- 类型:字符串
- 默认值:无
-
copy:- 描述:如果为
yes,则将文件复制到dest目录,而不是在原地解压缩。 - 类型:布尔值
- 默认值:
no
- 描述:如果为
-
creates:- 描述:如果指定路径存在,则不执行解压操作。
- 类型:字符串
- 默认值:无
-
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:解压缩文件到指定目录 示例2:解压缩文件并设置权限 示例3:远程URL解压缩 示例4:强制覆盖现有文件 具体步骤和示例 示例5:只要文件解压后,如果存在…...
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结尾的组件,一般也叫做 单文件组件,即一个组件就是组件里的全部内容 ② 在使用的组…...
BLE技术解析:物联网低功耗无线通信核心
1. BLE技术概述:物联网的无线连接基石蓝牙低功耗技术(Bluetooth Low Energy,简称BLE)自2010年作为蓝牙4.0核心规范的一部分推出以来,已成为物联网设备无线通信的事实标准。与经典蓝牙技术相比,BLE在保持相似…...
5分钟搞定专业神经网络图:Draw.io开源模板库终极指南
5分钟搞定专业神经网络图:Draw.io开源模板库终极指南 【免费下载链接】Neural-Network-Architecture-Diagrams Diagrams for visualizing neural network architecture 项目地址: https://gitcode.com/gh_mirrors/ne/Neural-Network-Architecture-Diagrams 你…...
Linux终端美化:cmatrix屏保的安装与个性化配置指南
1. 初识cmatrix:从黑客帝国到你的终端 第一次看到cmatrix运行效果时,我正窝在咖啡馆调试服务器。黑色背景上不断下落的绿色字符,瞬间让我想起《黑客帝国》里尼奥看到的数字雨。这个诞生于2002年的开源项目,最初只是开发者Chris Al…...
保姆级教程:在Ubuntu 22.04上从源码编译DPDK TestPMD并跑通第一个包转发测试
从零构建DPDK TestPMD:Ubuntu 22.04实战指南与性能调优 当你第一次听说DPDK能实现百万级数据包转发时,是否好奇这背后的技术魔法?本文将带你用一台普通Ubuntu服务器,亲手搭建这套高性能网络处理框架。不同于官方文档的抽象描述&am…...
别再死记硬背了!用Python+Graphviz把离散数学的图论和关系画出来(附代码)
用PythonGraphviz将离散数学中的抽象概念可视化 离散数学是计算机科学的基础课程之一,但其中的图论、二元关系等概念往往因为高度抽象而让学习者感到困惑。传统的死记硬背方式不仅效率低下,也难以真正理解这些概念的本质。本文将介绍如何利用Python的net…...
告别ST-LINK Utility!STM32CubeProg保姆级安装指南(含Java环境配置与常见报错解决)
从ST-LINK Utility到STM32CubeProg:嵌入式开发者的无缝迁移实战手册 当ST官方宣布STM32CubeProg将全面取代ST-LINK Utility时,许多习惯了旧工具的开发者都面临着一个现实问题:如何在不中断项目进度的情况下完成工具链的平稳过渡?作…...
知网AI率80%降到15%教程,比话降AI知网算法专精+售后保障!
知网AI率80%降到15%教程,比话降AI知网算法专精售后保障! 如果你是硕博毕业生、学校送知网检测、答辩前查出 AI 率 80%——这篇文章直接给你完整操作教程。从「拿到 80% 报告」到「学校送审通过」的完整路径,每一步该做什么、花多少时间、花多…...
AI Agent自动化修复GitHub Issue:从问题定位到PR提交全流程解析
1. 项目概述:一个能自动修复GitHub Issue并提交PR的AI技能 最近在折腾AI编程助手的时候,发现了一个挺有意思的东西,叫 issue-to-pr 。简单来说,这玩意儿是一个AI Agent的“技能包”,你把它装在你的AI编程工具&#…...
SAP供应商创建后,BP界面贸易伙伴字段不显示?手把手教你用FS_API_BP001_CHANGE补传数据
SAP供应商创建后BP界面贸易伙伴字段不显示的解决方案 在SAP系统中创建供应商时,经常会遇到一个令人困惑的问题:明明已经通过标准BAPI(如vmd_ei_api)将贸易伙伴信息成功写入数据库表LFA1的VBUND字段,但在业务伙伴(BP)界…...
别再瞎点了!Fluent标准k-ε湍流模型仿真,从导入模型到开始计算的保姆级避坑指南
Fluent标准k-ε湍流模型仿真:从模型导入到成功计算的避坑实战指南 第一次打开Fluent准备进行标准k-ε湍流模型仿真时,那种既兴奋又忐忑的心情我至今记忆犹新。作为CFD领域的经典入门案例,k-ε模型看似简单,却暗藏不少新手容易踩中…...
