Ansible 文件
Ansible 文件
Ansible 文件模块用于创建和删除远程服务器中的文件或多个文件。您还可以创建和删除目录以及更改数据的权限。
您还可以创建和删除软链接(符号链接)以及硬链接。借助 Ansible 文件模块,您可以设置文件的权限。
在远程服务器中创建文件
在 Ansible 文件模块中,我们有不同的参数。我们正在使用每个文件模块中必须的 path 和 state 参数。在文件参数中,我们会提到文件在远程服务器中的路径。在此路径上,只会创建文件。
At path: 它提到文件在远程服务器中的路径。
在状态: 它提到了touch,touch将创建与Linux命令完全相同的文件。
然后,它将创建一个名为devops.txt的新空文件。所以在路径中提到文件名。所以在状态: 我们会提到touch来创建文件。
-name: create the file in a remote server
file:
path: /path/to/file/in/remote/server/devops.txt
state: touch
删除远程服务器中的文件
如果要删除远程服务器中的任何命令。所以在path参数中,提到要删除的文件的路径。
在路径: 提到文件在远程服务器中的路径。
At 状态: 提无删除文件。
所以在状态: 我们将使用touch创建文件,不存在删除e文件。
-name: delete the file in a remote server
file:
path: /etc/abcd.conf
state: absent
创建有权限的文件
我们也可以通过file模块创建有权限的文件。
在mode参数处: 我们有4个数字。始终在开头提及零,其余数字将是您的文件权限。
在 owner 参数: 提及文件的所有者。
tasks:
-name: Ansible file module to create a new file with permissions.
file:
path: /path/to/cretae/file/devops.txt
state: touch
mode: 0421
owner: devops
此权限将设置为该新创建的文件。
file:
path: /path/to/cretae/file/devops.txt
state: touch
mode: "u=rw,g=w,o=e"
owner: devops
两个代码的作用是一样的,但是在另一个代码中,我们使用的是符号模式,相当于0421、
创建多个文件
路径参数: 我们可以通过使用"{{item}}"创建一个循环来创建多个文件。
在with_items参数: 提及您要创建的文件名。
通过使用"{{item}}"和with_items参数,我们可以创建循环或多个文件。
tasks:
-name: Ansible file module to create multiple files
file:
path: "{{ item }}"
state: touch
mode: 0421
with_items:
-devops1.txt
-devops2.txt
-devops3.txt
删除多个文件
创建多个文件和删除文件的代码相同,但状态参数略有变化。
State参数: 点击创建文件,不存在删除文件。
-name: Ansible file module to delete multiple files
file:
path: "{{ item }}"
state: absent
with_items:
-devops1.txt
-devops2.txt
-devops3.txt