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(数据复制器)
参数
参数 |
注释 |
---|---|
生成的系统文件对象应具有的属性。 要获取支持的标志,请查看目标系统上 此字符串应按 默认情况下假定使用 |
|
块大小,如果后面没有乘法后缀,则以字节为单位。 数值(单位前)**必须**是整数(如果等于整数,则为 如果未设置,则块大小将从操作系统猜测,通常结果为 |
|
如果文件存在,是否覆盖它,换句话说,从 0 开始截断它。当
选项
|
|
应拥有文件系统对象的组的名称,如同提供给 如果未指定,则除非您是 root 用户,否则它使用当前用户的当前组,在这种情况下,它可以保留之前的拥有者。 |
|
生成的系统文件对象应具有的权限。 对于习惯使用 如果未遵循以上任一规则而向 Ansible 提供数字,则最终会得到一个十进制数,这将导致意外的结果。 从 Ansible 1.8 开始,模式可以指定为符号模式(例如, 如果未指定 如果未指定 指定 |
|
应拥有文件系统对象的用户的名称,如同传递给 如果未指定,则使用当前用户,除非您是 root 用户,在这种情况下,它可以保留之前的拥有者。 指定数字用户名将被认为是用户 ID 而不是用户名。避免使用数字用户名以避免此混淆。 |
|
要创建或调整大小的普通文件的路径。 |
|
SELinux 文件系统对象上下文中的级别部分。 这是 MLS/MCS 属性,有时称为 如果设置为 |
|
SELinux 文件系统对象上下文中的角色部分。 如果设置为 |
|
SELinux 文件系统对象上下文中的类型部分。 如果设置为 |
|
SELinux 文件系统对象上下文中的用户部分。 默认情况下,它使用 如果设置为 |
|
请求的文件大小。 该值是一个数字( 如果没有提供乘法后缀,则该值将被视为 当 当 当 这意味着可以将任意大小的文件增长到任何其他任意大小,然后将其调整回其初始大小,而不会修改其初始内容。 |
|
要创建的文件是否应为稀疏文件。 此选项仅对新创建的文件有效,或者在增长文件时,仅对要附加的字节有效。 不支持不支持稀疏文件的操作系统或文件系统上的此选项。
选项
|
|
此选项将静默忽略。此模块始终就地修改文件大小。 选项
|
属性
属性 |
支持 |
描述 |
---|---|---|
支持:完全支持 |
可以在 |
|
支持:完全支持 |
处于 diff 模式时,将返回有关已更改内容(或可能需要在 |
另请参见
另请参见
- 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 标准的可读格式。 返回值: 成功 示例: |
|
如果文件是符号链接,则为文件的真实路径;否则与模块参数相同。 返回值: 始终返回 示例: |
|
旧大小与新大小之间的差值(正数或负数),以字节为单位。 返回值: 始终返回 示例: |