file模块
管理文件和目录的属性,如状态(是否存在)、权限、所有权等。
1、创建文件:
使用file
模块的state
参数设置为**touch
**可以创建文件。例如:
bash
ansible 组名 -m file -a "path=/csdn/jingyu state=touch"
bash
- name: 创建一个文件
file:
path: /csdn/jingyu
state: touch
mode: '0755'
在/csdn目录下创建一个jingyu文件。(如果不存在,则创建,如果已存在则不会创建。)
mode是设置文件的权限0755给予所有者读写执行权限,组用户和其他用户只有读和执行权限。
2、创建目录
使用file
模块的state
参数设置为directory可以创建文件。例如:
bash
ansible 组名 -m file -a "path=/csdn/jingyu state=directory mode=0755"
bash
- name: Ensure the directory exists
file:
path: /csdn/jingyu
state: directory
mode: '0755'
在/csdn目录下创建一个jingyu目录。(如果不存在,则创建,如果已存在则不会创建。)
mode是设置文件的权限0755给予所有者读写执行权限,组用户和其他用户只有读和执行权限。
3、修改文件权限:
owner
: 设置文件的所有者用户名。group
: 设置文件的所属组名。mode
: 设置文件的权限。
bash
- name: Change file permissions and ownership
file:
path: /csdn/jingyu
owner: jingyu
group: root
mode: '0644'
修改/csdn/jingyu文件属性属主是jingyu;属组是root,文件权限是0644.给于所有者读写权限,组和其他用户都是读权限。
其他参数
recurse
: 当与state: directory
一起使用时,递归地更改目录内所有文件和子目录的属性。src
和dest
: 在复制文件时使用,类似于copy
模块,但只用于属性管理,不涉及内容复制。selevel
,serole
,setype
,seuser
: 用于设置SELinux上下文。
4、创建软连接link
src
: 指定原始文件或目录的路径,即软链接指向的目标。dest
: 指定要创建的软链接的路径。state: link
表示要创建一个软链接。如果已有同名文件或链接存在,Ansible会根据情况更新或创建链接以指向新的src
路径。
bash
ansible jingyu -m file -a "src=/csdn/jingyu dest=/media/jingyu state=link"
bash
- name: Create a symbolic link
file:
src: /csdn/jingyu
dest: /media/jingyu
state: link
将/csdn目录下的jingyu文件或者目录创建软连接到客户机的/media目录下名称是jingyu。
5**、创建软连接hard**
src
: 指定原始文件或目录的路径,即软链接指向的目标。dest
: 指定要创建的软链接的路径。state: hard
表示要创建一个硬链接。如果已有同名文件或链接存在,Ansible会根据情况更新或创建链接以指向新的src
路径。
bash
ansible jingyu -m file -a "src=/csdn/jingyu dest=/media/jingyu state=hard"
bash
- name: Create a symbolic link
file:
src: /csdn/jingyu
dest: /media/jingyu
state: hard
将/csdn目录下的jingyu文件或者目录创建硬连接到客户机的/media目录下名称是jingyu。