首页 > 其他分享 >ansible 常用模块 archive

ansible 常用模块 archive

时间:2023-03-31 14:59:33浏览次数:53  
标签:src Ansible 存档 文件系统 ansible 模块 archive added

模块说明

  • unarchive模块解压缩存档。它不会解压缩不包含存档的压缩文件。

  • 默认情况下,它会在解包之前将源文件从本地系统复制到目标。

  • 设置remote_src=yes为解压缩目标上已存在的存档。

  • 在目标主机上需要zipinfogtar/unzip命令。

  • 需要目标主机上的zstd命令来展开.tar.zst文件。

  • 可以使用 处理.zip文件unzip以及使用.tar.tar.gz.tar.bz2.tar.xz.tar.zst文件gtar

  • 不处理不包含.tar存档的.gz文件、.bz2文件、.xz.zst文件。

  • 目标中不在存档中的现有文件/目录不会被触及。这与正常的存档提取行为相同。

  • 目标中不在存档中的现有文件/目录将被忽略,以决定是否应解压缩存档。

参数说明

Parameter

Comments

attributes

 

aliases: attr

string

added in Ansible 2.3

生成的文件系统对象应具有的属性。

要获得支持的标志,请查看目标系统上chattr的手册页。

该字符串应包含与lsattr显示的顺序相同的属性。

=运算符被假定为默认值,否则+or-运算符需要包含在字符串中。

copy

 

boolean

如果为真,则文件从本地控制器复制到托管(远程)节点,否则,插件将在托管机器上查找 src 存档。

此选项已被弃用,取而代之的是remote_src.

此选项与 互斥remote_src

选择:

  • false

  • true ← (default)

creates

 

path

added in Ansible 1.6

如果指定的绝对路径(文件或目录)已经存在,则不会运行此步骤。

指定的绝对路径(文件或目录)必须在 . 给出的基本路径之下dest:

decrypt

boolean

added in Ansible 2.4

此选项控制使用保管库对源文件的自动解密。

选择:

  • false

  • true ← (default)

dest

path / required

存档应解压缩的远程绝对路径。

给定的路径必须存在。基本目录不是由此模块创建的。

exclude

 

list / elements=string

added in Ansible 2.1

列出您希望从取消存档操作中排除的目录和文件条目。

include 互斥。

Default: []

extra_opts

 

list / elements=string

added in Ansible 2.1

通过传入数组指定其他选项。

每个以空格分隔的命令行选项应该是数组的一个新元素。请参阅示例。

具有多个元素的命令行选项必须在数组中使用多行,每个元素一行。

Default: [""]

group

string

应该拥有文件系统对象的组的名称,将被提供给chown

如果未指定,它将使用当前用户的当前组,除非您是 root,在这种情况下,它可以保留以前的所有权。

include

 

list / elements=string

added in ansible-core 2.11

您要从存档中提取的目录和文件条目的列表。如果include不为空,则仅提取此处列出的文件。

exclude互斥。

Default: []

io_buffer_size

integer

added in ansible-core 2.12

用于从存档中提取文件的易失性内存缓冲区的大小(以字节为单位)。

Default: 65536

keep_newer

 

boolean

added in Ansible 2.1

不要替换比存档文件更新的现有文件。

选择:

  • false ← (default)

  • true

list_files

boolean

added in Ansible 2.0

如果设置为 True,则返回压缩包中包含的文件列表。

选择:

  • false ← (default)

  • true

mode

 

any

生成的文件系统对象应具有的权限。

对于习惯于/usr/bin/chmod的用户,请记住模式实际上是八进制数。您必须添加一个前导零,以便 Ansible 的 YAML 解析器知道它是一个八进制数(如0644or 01777)或引用它(如'644'or '1777')以便 Ansible 接收一个字符串并可以自己将字符串从字符串转换为数字。

在不遵循这些规则之一的情况下为 Ansible 提供一个数字将以十进制数结尾,这将产生意想不到的结果。

从 Ansible 1.8 开始,模式可以指定为符号模式(例如,u+rwxu=rw,g=r,o=r)。

如果mode未指定且目标文件系统对象umask存在,则在为新创建的文件系统对象设置模式时将使用系统上的默认值。

如果mode未指定且目标文件系统对象确实存在,则将使用现有文件系统对象的模式。

owner

 

string

应该拥有文件系统对象的用户的名称,将被提供给chown

如果未指定,它将使用当前用户,除非您是 root,在这种情况下,它可以保留以前的所有权。

指定数字用户名将被假定为用户 ID 而不是用户名。避免使用数字用户名以避免这种混淆。

remote_src

 

boolean

added in Ansible 2.2

设置true为表示归档文件已经在远程系统上,而不是 Ansible 控制器的本地。

此选项与 copy互斥。

选择:

  • false ← (default)

  • true

selevel

string

SELinux 文件系统对象上下文的级别部分。

这是 MLS/MCS 属性,有时称为range.

设置为 时_default,它将使用level策略的一部分(如果可用)。

serole

string

SELinux 文件系统对象上下文的角色部分。

设置为 时_default,它将使用role策略的一部分(如果可用)。

setype

string

SELinux 文件系统对象上下文的类型部分。

设置为 时_default,它将使用type策略的一部分(如果可用)。

seuser

 

string

SELinux 文件系统对象上下文的用户部分。

默认情况下,它会system在适用的情况下使用该策略。

设置为 时_default,它将使用user策略的一部分(如果可用)。

src

path / required

如果remote_src=no(默认),存档文件的本地路径复制到目标服务器;可以是绝对的或相对的。如果是remote_src=yes,目标服务器上要解压的现有存档文件的路径。

如果remote_src=yes并且src包含://,远程机器将首先从 URL 下载文件。(添加版本 2.0)。

unsafe_writes

 

boolean

added in Ansible 2.2

影响何时使用原子操作来防止数据损坏或从目标文件系统对象读取不一致。

默认情况下,此模块使用原子操作来防止数据损坏或从目标文件系统对象读取不一致,但有时系统会以防止这种情况的方式配置或破坏。一个例子是 docker 挂载的文件系统对象,它不能从容器内部自动更新,只能以不安全的方式写入。

此选项允许 Ansible 在原子操作失败时回退到更新文件系统对象的不安全方法(但是,它不会强制 Ansible 执行不安全的写入)。

重要的!不安全的写入受竞争条件的影响,并可能导致数据损坏。

选择:

  • false ← (default)

  • true

validate_certs

 

boolean

added in Ansible 2.2

这仅适用于使用 https URL 作为文件源的情况。

这应该只设置为false在使用自签名证书的个人控制站点上使用。

在 2.2 之前,代码的工作方式就好像它被设置为true.

选择:

  • false

  • true ← (default)

示例

- name: Extract foo.tgz into /var/lib/foo
  ansible.builtin.unarchive:
    src: foo.tgz
    dest: /var/lib/foo

- name: Unarchive a file that is already on the remote machine
  ansible.builtin.unarchive:
    src: /tmp/foo.zip
    dest: /usr/local/bin
    remote_src: yes

- name: Unarchive a file that needs to be downloaded (added in 2.0)
  ansible.builtin.unarchive:
    src: https://example.com/example.zip
    dest: /usr/local/bin
    remote_src: yes

- name: Unarchive a file with extra options
  ansible.builtin.unarchive:
    src: /tmp/foo.zip
    dest: /usr/local/bin
    extra_opts:
    - --transform
    - s/^xxx/yyy/


参考文档

https://docs.ansible.com/ansible/latest/collections/ansible/builtin/unarchive_module.html#ansible-collections-ansible-builtin-unarchive-module

标签:src,Ansible,存档,文件系统,ansible,模块,archive,added
From: https://www.cnblogs.com/wangguishe/p/17276241.html

相关文章

  • ansible 常用模块 user
    模块说明管理用户帐户和用户属性。此模块用于useradd创建、usermod修改和userdel删除帐户。参数ParameterCommentsappend boolean如果true,将用户添加到中指定的组groups。如果false,用户将只被添加到在指定的组中groups,将他们从所有其他组中删......
  • ansible 常用模块 group
    参数参数选项/默认值描述gidinterger 要为组设置的可选GID。localbooleanfalse ←(默认)true强制在实现它的平台上使用“local”命令替代项。这在要操作本地组时使用集中式身份验证的环境中非常有用。(例如,它使用代替lgroupaddgroupadd)。namestr......
  • DC-DC直流线性可调升压模块高压稳压输出电源5v12v24v48v转0-300V0-500V/0-600V/0-1000
    GRB系列非隔离宽电压输入高电压稳压输出特点 效率高达75%以上 1*2英寸标准封装 单电压输出 可直接焊在PCB上 工作温度:-40℃~+75℃ 阻燃封装,满足UL94-V0要求 温度特性好 电压控制输出,输出电压随控制电压的变化线应用GRB系列模块电源是一种DC-DC升压变换器。该模块电......
  • Flask框架 之使用蓝图实现模块划分
     一、示例代码run.pyfromappimportcreate_appif__name__=='__main__':app=create_app()app.run(debug=True,port=5000)__init__.pyfromflaskimportFlaskfromapp.controllersimportconfig_blueprintdefcreate_app():app=Fla......
  • 内核模块管理命令
    内核模块lsmod、insmod、rmmod、modinfo、modprobe等命令https://blog.csdn.net/bandaoyu/article/details/128582615......
  • 衡量模块独立的定性标准是什么?用自己的话表达其含义。
    定性标准:衡量模块的独立性的标准是两个定性的度量标准:耦合性和内聚性。耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。含义:①耦合性也称块间联系,指软件系统结构中各模块间相互联系紧密......
  • 什么是模块化,为什么要模块化?
     所谓的模块化开发就是封装细节,提供使用接口,彼此之间互不影响,每个模块都是实现某一特定的功能。模块化开发的基础就是函数。模块化开发使代码耦合度降低,模块化的意义在于最大化的设计重用,以最少的模块、零部件,更快速的满足更多的个性化需求。  为什么要模块化。从程序开......
  • Ansible_Playbook-统一为目标主机创建research逻辑卷
    目录实验目标实验环境ansible配置文件清单主机文件脚本文件实验目标在自建环境中能够测试RHCE磁盘管理题目在部分主机上做特殊处理,使得自己练习环境与实际环境相似实......
  • 第135篇:npm模块全局安装后无法使用解决方案
    好家伙 npm模块全局安装后无法使用 估计是少配了环境变量1.使用命令:npmconfiggetprefix找到全局包的安装位置  2.随后我们右键"我的电脑"打开 "属......
  • 每日一模块-arrow
    多个个月前arrow.get(end_time_str,'YYYY-MM-DDHH:mm:ss').shift(months=-6).format('YYYY-MM-DDHH:mm:ss')获取几小时之前,几分钟前,几天前,几个月前,及几......