community.general.filesize 模块 – 创建具有给定大小的文件,或在文件已存在时调整其大小
注意
此模块是 community.general 集合(版本 10.1.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。 它不包含在 ansible-core
中。 要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.general
。 您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。
要在 playbook 中使用它,请指定:community.general.filesize
。
community.general 3.0.0 中的新增功能
概要
此模块是
dd
的一个简单包装器,用于创建、扩展或截断文件,给定其大小。 它可用于管理交换文件(需要连续块)或可选地管理巨大的稀疏文件。
要求
执行此模块的主机需要满足以下要求。
PATH 中的 dd(数据复制器)
参数
参数 |
注释 |
---|---|
生成的的文件系统对象应具有的属性。 要获取支持的标志,请查看目标系统上的 chattr 的手册页。 此字符串应包含与 lsattr 显示的顺序相同的属性。 默认情况下假定使用 |
|
块的大小,如果后面没有乘法后缀,则以字节为单位。 数值(单位之前)必须是整数(或者如果等于整数,则为 如果未设置,则块的大小会从操作系统中猜测,通常会导致 |
|
是否覆盖已存在的文件,换句话说,将其从 0 截断。 当
选择
|
|
应该拥有文件系统对象的组的名称,就像将提供给 chown 一样。 如果未指定,它将使用当前用户的当前组,除非您是 root 用户,在这种情况下,它可以保留以前的所有权。 |
|
生成的文件系统对象应具有的权限。 对于那些习惯使用 /usr/bin/chmod 的人,请记住模式实际上是八进制数。您必须向 Ansible 提供足够的信息才能正确解析它们。为了获得一致的结果,请引用八进制数(例如, 在没有遵循这些规则的情况下向 Ansible 提供数字将最终得到一个十进制数,这将产生意外的结果。 从 Ansible 1.8 开始,模式可以指定为符号模式(例如, 如果未指定 如果未指定 指定 |
|
应该拥有文件系统对象的用户的名称,就像将提供给 chown 一样。 如果未指定,它将使用当前用户,除非您是 root 用户,在这种情况下,它可以保留以前的所有权。 指定数字用户名将被假定为用户 ID 而不是用户名。 避免使用数字用户名以避免混淆。 |
|
要创建或调整大小的常规文件的路径。 |
|
SELinux文件系统对象上下文的级别部分。 这是MLS/MCS属性,有时称为 当设置为 |
|
SELinux文件系统对象上下文的角色部分。 当设置为 |
|
SELinux文件系统对象上下文的类型部分。 当设置为 |
|
SELinux文件系统对象上下文的用户部分。 默认情况下,它使用 当设置为 |
|
请求的文件大小。 该值是一个数字(可以是 如果未提供乘法后缀,则该值被视为每个 当 当 当 这意味着可以将任意大小的文件扩展到任何其他任意大小,然后调整大小到其初始大小,而无需修改其初始内容。 |
|
要创建的文件是否应该是稀疏文件。 此选项仅在新建文件或扩展文件时有效,仅对要追加的字节有效。 此选项在不支持稀疏文件的操作系统或文件系统上不受支持。
选择
|
|
此选项会被静默忽略。此模块始终就地修改文件大小。 选择
|
属性
属性 |
支持 |
描述 |
---|---|---|
支持: 完全 |
可以在 |
|
支持: 完全 |
当处于差异模式时,将返回有关已更改内容(或可能需要在 |
另请参阅
另请参阅
- Linux 的 dd(1) 手册页
GNU/Linux 的 dd 实现(来自 GNU coreutils)的手册页。
- IBM AIX 的 dd(1) 手册页
IBM AIX 的 dd 实现的手册页。
- Mac OSX 的 dd(1) 手册页
Mac OSX 的 dd 实现的手册页。
- Solaris 的 dd(1M) 手册页
Oracle Solaris 的 dd 实现的手册页。
- FreeBSD 的 dd(1) 手册页
FreeBSD 的 dd 实现的手册页。
- OpenBSD 的 dd(1) 手册页
OpenBSD 的 dd 实现的手册页。
- NetBSD 的 dd(1) 手册页
NetBSD 的 dd 实现的手册页。
- Linux 的 busybox(1) 手册页
GNU/Linux 的 busybox 的手册页,它提供了自己的 dd 实现。
示例
- name: Create a file of 1G filled with null bytes
community.general.filesize:
path: /var/bigfile
size: 1G
- name: Extend the file to 2G (2*1024^3)
community.general.filesize:
path: /var/bigfile
size: 2G
- name: Reduce the file to 2GB (2*1000^3)
community.general.filesize:
path: /var/bigfile
size: 2GB
- name: Fill a file with random bytes for backing a LUKS device
community.general.filesize:
path: ~/diskimage.luks
size: 512.0 MiB
source: /dev/urandom
- name: Take a backup of MBR boot code into a file, overwriting it if it exists
community.general.filesize:
path: /media/sdb1/mbr.bin
size: 440B
source: /dev/sda
force: true
- name: Create/resize a sparse file of/to 8TB
community.general.filesize:
path: /var/local/sparsefile
size: 8TB
sparse: true
- name: Create a file with specific size and attributes, to be used as swap space
community.general.filesize:
path: /var/swapfile
size: 2G
blocksize: 512B
mode: u=rw,go=
owner: root
group: root
返回值
常见的返回值记录在此处,以下是此模块独有的字段
键 |
描述 |
---|---|
执行以创建或调整文件大小的命令。 返回: 当更改或失败时 示例: |
|
与文件大小相关的字典。 返回: 始终 |
|
文件中的块数。 返回: 成功 示例: |
|
块的大小(以字节为单位)。 返回: 成功 示例: |
|
文件大小,以人类可读的格式,遵循 IEC 标准。 返回: 成功 示例: |
|
文件大小,以人类可读的格式,遵循 SI 标准。 返回: 成功 示例: |
|
如果文件是符号链接,则为文件的实际路径,否则与模块的参数相同。 返回: 始终 示例: |
|
旧大小和新大小之间的差异(正或负),以字节为单位。 返回: 始终 示例: |