ansible file模块

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上下文。
  • 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。

相关推荐
广目软件16 小时前
HA分布式架构采集节点变更操作手册20261029
运维·服务器·ansible·zabbix·prometheus
Moshow郑锴1 天前
Ansible 批量部署 Node.js 服务:ZIP 直解与共享目录分发两种方案对比
node.js·ansible
垚垚学技术_聚焦云原生2 天前
Ansible Playbook 进阶:when 条件、loop 循环、handlers 触发器落地
linux·ansible·自动化运维·devops
Moshow郑锴2 天前
GCP MIG 重建后 Ansible 初始化实战:PowerShell + NSSM 挂载 Windows 服务
windows·ansible
承渊政道4 天前
新增一台服务器时还要重新装Nginx?Ansible只改hosts目标列表,同一份Playbook继续执行
运维·nginx·ansible·内网穿透·cpolar
Helix2506 天前
Ansible混合环境自动化:Windows与Linux统一配置管理实战
windows·自动化·ansible·playbook·配置管理·winrm·混合环境
垚垚学技术_聚焦云原生7 天前
Ansible 变量体系详解:主机变量、组变量、全局变量优先级实战
ansible·自动化运维·devops·变量优先级
I'mChloe16 天前
不再逐台装Docker:我用Ansible Playbook批量统一服务器环境
服务器·docker·ansible
筑梦之路16 天前
Alibaba Cloud Linux 4 制作 Ansible RPM包实践(离线可复用)——筑梦之路
linux·运维·ansible
张洛闻Eren17 天前
Ansible【第一课】:Ansible介绍
运维·数据库·云原生·kubernetes·github·ansible