📅  最后修改于: 2020-12-26 12:35:39             🧑  作者: Mango
Ansible文件模块用于在远程服务器中创建和删除一个或多个文件。您还可以创建和删除目录以及更改数据的权限。
您还可以创建和删除软链接(符号链接)以及硬链接。借助Ansible文件模块,您可以设置文件的权限。
在Ansible文件模块中,我们有不同的参数。我们正在使用每个文件模块中必须包含的路径和状态参数。在file参数中,我们将提到远程服务器中文件的路径。在此路径上,将仅创建文件。
路径中:提到远程服务器中文件的路径。
处于状态:提及触摸,触摸将创建与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参数中,提及您要删除的文件的路径。
在路径:提及远程服务器中文件的路径。
处于状态:未提及删除文件。
因此处于状态:我们将使用touch创建文件,而没有删除e文件。
- name: delete the file in a remote server
file:
path: /etc/abcd.conf
state: absent
我们还可以使用文件模块在许可的情况下创建文件。
在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