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

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中&#xff0c;每个页面需要使用ref&#xff0c;onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入&#xff0c;需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...

Golang——7、包与接口详解

包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...

WebRTC调研

WebRTC是什么&#xff0c;为什么&#xff0c;如何使用 WebRTC有什么优势 WebRTC Architecture Amazon KVS WebRTC 其它厂商WebRTC 海康门禁WebRTC 海康门禁其他界面整理 威视通WebRTC 局域网 Google浏览器 Microsoft Edge 公网 RTSP RTMP NVR ONVIF SIP SRT WebRTC协…...

聚六亚甲基单胍盐酸盐市场深度解析:现状、挑战与机遇

根据 QYResearch 发布的市场报告显示&#xff0c;全球市场规模预计在 2031 年达到 9848 万美元&#xff0c;2025 - 2031 年期间年复合增长率&#xff08;CAGR&#xff09;为 3.7%。在竞争格局上&#xff0c;市场集中度较高&#xff0c;2024 年全球前十强厂商占据约 74.0% 的市场…...

boost::filesystem::path文件路径使用详解和示例

boost::filesystem::path 是 Boost 库中用于跨平台操作文件路径的类&#xff0c;封装了路径的拼接、分割、提取、判断等常用功能。下面是对它的使用详解&#xff0c;包括常用接口与完整示例。 1. 引入头文件与命名空间 #include <boost/filesystem.hpp> namespace fs b…...

GraphRAG优化新思路-开源的ROGRAG框架

目前的如微软开源的GraphRAG的工作流程都较为复杂&#xff0c;难以孤立地评估各个组件的贡献&#xff0c;传统的检索方法在处理复杂推理任务时可能不够有效&#xff0c;特别是在需要理解实体间关系或多跳知识的情况下。先说结论&#xff0c;看完后感觉这个框架性能上不会比Grap…...

Python打卡训练营学习记录Day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

【见合八方平面波导外腔激光器专题系列】用于干涉光纤传感的低噪声平面波导外腔激光器2

----翻译自Mazin Alalus等人的文章 摘要 1550 nm DWDM 平面波导外腔激光器具有低相位/频率噪声、窄线宽和低 RIN 等特点。该腔体包括一个半导体增益芯片和一个带布拉格光栅的平面光波电路波导&#xff0c;采用 14 引脚蝶形封装。这种平面波导外腔激光器设计用于在振动和恶劣的…...