3.Ansible的file模块,我最常用的文件操作

1.file 模块的用法

1.1 官方概念

Set attributes of files, symlinks or directories. Alternatively, remove files, symlinks or directories. Many other modules support the same options as the `file’ module - including [copy], [template], and
[assemble]. For Windows targets, use the [win_file] module instead.

1.2 参数描述

参数 描述
path 指定要操作的文件或目录Path to the file being managed
state 这个参数的值很多,主要是来规定操作的一些类型,我这里就列举一下我经常用到的
absent:删除操作,可以删除文件或者目录
touch:创建文件,如果文件已经存在,则会更新文件的时间戳
directory:创建目录,如果目录不存在,那么所有的子目录将被创建(而且提供权限的创建),如果目录# 已经存在,则不进行任何操作
mode:修改权限

1.3 示例

1.3.1 创建目录

1.3.1.1 执行命令

ansible all -m file -a 'path=/testfile state=directory'

3.Ansible的file模块,我最常用的文件操作_第1张图片
3.Ansible的file模块,我最常用的文件操作_第2张图片

1.3.1.2 验证

从上面的结果来看,已经创建成功了。去远程机器上看下
3.Ansible的file模块,我最常用的文件操作_第3张图片
结果符合预期。

1.3.2 创建文件

1.3.2.1 执行命令

ansible all -m file -a 'path=/testfile/a.txt state=touch'

3.Ansible的file模块,我最常用的文件操作_第4张图片
3.Ansible的file模块,我最常用的文件操作_第5张图片

1.3.2.2 结果验证

从上面的返回结果来看,已经执行成功。再去远程机器看下
3.Ansible的file模块,我最常用的文件操作_第6张图片

符合预期。

1.3.2.3 重新执行命令

我们在host1上修改a.txt文件,加入内容
3.Ansible的file模块,我最常用的文件操作_第7张图片
再执行命令:

ansible all -m file -a 'path=/testfile/a.txt state=touch'

3.Ansible的file模块,我最常用的文件操作_第8张图片
3.Ansible的file模块,我最常用的文件操作_第9张图片

1.3.2.4 重新执行命令的结果

3.Ansible的file模块,我最常用的文件操作_第10张图片
我们看到,内容没变变化,文件时间改变了。

1.3.3 删除文件

1.3.3.1 执行命令

ansible all -m file -a 'path=/testfile/a.txt state=absent'

3.Ansible的file模块,我最常用的文件操作_第11张图片

1.3.3.2 结果验证

从返回结果来看,已经成功。去远程机器看下
在这里插入图片描述
文件已经删除了。

1.3.4 删除目录

1.3.4.1 执行命令

ansible all -m file -a 'path=/testfile/ state=absent'

3.Ansible的file模块,我最常用的文件操作_第12张图片

1.3.4.2 结果验证

从上面的结果来看,命令执行成功了。去远程机器上看下
3.Ansible的file模块,我最常用的文件操作_第13张图片
我们看到目录删除掉了,符合预期。

你可能感兴趣的:(ansible,ansible,ansible的file模块,ansible创建目录,ansible创建文件)