📜  Ansible文件

📅  最后修改于: 2020-12-26 12:35:39             🧑  作者: Mango

Ansible文件

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