本文概述
- 在远程服务器中创建文件
- 删除远程服务器中的文件
- 创建具有权限的文件
- 创建多个文件
- 删除多个文件
你还可以创建和删除软链接(符号链接)以及硬链接。借助Ansible文件模块,你可以设置文件的权限。
在远程服务器中创建文件在Ansible文件模块中,我们有不同的参数。我们正在使用每个文件模块中必须包含的路径和状态参数。在file参数中,我们将提到远程服务器中文件的路径。在此路径上,将仅创建文件。
路径中:提到远程服务器中文件的路径。
处于状态:提及触摸,触摸将创建与Linux命令完全相同的文件。
【ansible文件模块用法】然后,它将创建一个名为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
推荐阅读
- ansible vault命令用法
- ansible命令模块用法
- ansible复制模块
- ansible lineinfile模块
- ansible apt模块
- ansible调试模块用法
- ansible使用库存
- ansible yaml语法
- ansible模板