当前位置: 首页 > news >正文

Ansible 常用文件模块详解(copy、file、fetch)

前言

在使用 Ansible 进行自动化运维时,文件操作是最基础且高频的场景。copyfilefetch是 Ansible 核心的文件管理模块,分别实现文件推送、远程文件 / 目录管理、文件拉取功能,本文基于 openEuler 系统,详细讲解三大模块用法、参数及实操案例,适合运维初学者快速掌握。

一、模块概述

表格

模块核心功能数据流向
copy推送文件 / 目录本地控制节点 → 远程被管理机
file管理远程文件 / 目录 / 权限 / 软链接仅操作远程节点
fetch拉取文件远程被管理机 → 本地控制节点

二、copy 模块(本地→远程)

1. 模块作用

将控制节点的文件或目录,复制到远程主机,支持配置权限、备份、覆盖等操作,是批量分发文件的核心模块。

2. 常用参数

  • src:本地源文件 / 目录路径(必填)
  • dest:远程目标路径(必填)
  • owner:指定文件所属用户
  • group:指定文件所属用户组
  • mode:设置文件权限(如 0644、0755)
  • backup:覆盖前备份原文件(yes/no)
  • force:强制覆盖(yes/no,默认 yes)

3. 实操命令(openEuler 环境)

bash

运行

# 1. 基础推送:本地文件复制到远程/tmp目录 ansible test03 -m copy -a "src=/home/lcy/first.sh dest=/tmp/" # 2. 推送并配置权限、属主 ansible test03 -m copy -a "src=/home/lcy/test.txt dest=/opt/ owner=lcy group=lcy mode=0644" # 3. 覆盖远程文件前自动备份 ansible test03 -m copy -a "src=test.sh dest=/tmp/ backup=yes" # 4. 推送目录(递归复制整个目录) ansible test03 -m copy -a "src=/home/lcy/test_dir dest=/opt/"

三、file 模块(远程文件管理)

1. 模块作用

在远程主机上创建 / 删除文件、创建目录、修改权限、创建软链接,不涉及文件传输,纯远程文件管理。

2. 常用参数

  • path:远程文件 / 目录路径(必填)
  • state:文件状态(directory = 创建目录,file = 创建文件,link = 软链接,absent = 删除)
  • owner/group:设置所属用户 / 组
  • mode:修改文件 / 目录权限
  • recurse:递归修改目录权限(yes/no)

3. 实操命令(openEuler 环境)

bash

运行

# 1. 远程创建目录 ansible test03 -m file -a "path=/opt/ansible_dir state=directory" # 2. 创建目录并配置权限、属主 ansible test03 -m file -a "path=/opt/data_dir state=directory owner=lcy group=lcy mode=0755" # 3. 修改远程文件权限 ansible test03 -m file -a "path=/tmp/first.sh mode=0755" # 4. 创建软链接 ansible test03 -m file -a "src=/etc/passwd dest=/tmp/passwd_link state=link" # 5. 删除远程文件/目录(谨慎使用) ansible test03 -m file -a "path=/tmp/test.txt state=absent"

四、fetch 模块(远程→本地)

1. 模块作用

从远程主机拉取文件到本地控制节点,仅支持拉取文件,不支持目录,默认会按远程主机名创建目录存储文件。

2. 常用参数

  • src:远程源文件路径(必填)
  • dest:本地存储路径(必填)
  • flat:扁平化存储(直接保存文件,不嵌套主机名目录)

3. 实操命令(openEuler 环境)

bash

运行

# 1. 基础拉取:远程文件保存到本地(默认嵌套主机名目录) ansible test03 -m fetch -a "src=/etc/passwd dest=/home/lcy/ansible_files/" # 2. 扁平化拉取(直接保存文件,推荐使用) ansible test03 -m fetch -a "src=/tmp/first.sh dest=/home/lcy/ flat=yes" # 3. 拉取远程配置文件 ansible test03 -m fetch -a "src=/etc/hosts dest=/home/lcy/hosts_bak/ flat=yes"

五、三大模块核心区别

  1. copy:用于本地文件批量推送到远程,适合脚本、配置文件分发;
  2. file:用于远程文件 / 目录的状态管理,不传输文件,侧重权限、目录创建;
  3. fetch:用于远程文件拉取到本地,适合日志、配置文件备份。

六、总结

copyfilefetch是 Ansible 入门必掌握的基础模块,掌握这三个模块可完成绝大多数文件运维场景。在 openEuler 系统中,Ansible 用法与 CentOS/RHEL 完全兼容,配合 Ad-Hoc 命令可快速实现批量文件操作,提升运维效率。

http://www.jsqmd.com/news/602405/

相关文章:

  • 2026年杭州设计资质加盟公司最新推荐榜:建筑资质加盟、设计院资质加盟、勘察资质加盟、施工资质加盟、监理资质加盟、造价资质加盟、工程资质加盟公司选择指南,全领域精选 - 海棠依旧大
  • Source Sans 3 专业指南:从基础到实战的开源字体应用方案
  • CMS与建站系统别再混淆!深度对比+避坑指南,选对工具少走90%弯路
  • Snipe-IT容器化部署实战指南:从环境配置到效能优化
  • 解锁高效捕获:res-downloader多平台适配完全指南
  • Python函数式编程高级应用:从理论到实践
  • vLLM-v0.11.0并发优化:max-num-seqs设置,支持高并发请求
  • AI辅助开发新体验:在快马平台实现万文通式智能文本风格分析与转换
  • 2026贵阳室内设计公司5强名单出炉,权威数据揭示行业格局 - 精选优质企业推荐榜
  • 感官伪造风暴:AI用触觉反馈实施千万美元诈骗
  • 新手福音:在快马平台上通过openclaw101轻松入门机器人控制编程
  • 重构知识体系:Obsidian模板构建高效知识网络指南
  • 5分钟掌握B站视频下载:免费解锁大会员4K画质的终极指南
  • 3步搞定Unity游戏翻译:XUnity.AutoTranslator完整配置指南
  • SnailJob vs XXL-Job:哪个分布式任务调度平台更适合你的业务场景?
  • 如何设置电脑自动锁屏
  • 告别手动切换:用快马平台实现openclaw模型批量测试与效率飞跃
  • 终极电脑静音方案:用FanControl 264版彻底告别风扇噪音困扰
  • 子类初始化父类成员
  • 如何用ContextMenuManager让Windows右键菜单变得清爽高效?
  • 0.1μm尘埃粒子计数器在半导体领域应用及展望之浅析
  • 跨云盘数据迁移实战:基于rclone的GoogleDrive到OneDrive自动化同步方案
  • 嵌入式Linux驱动调试笔记:从TP触摸中断到I2C数据读取的全链路分析
  • Ubuntu双系统安装实战:华硕ROG枪神6Plus的WIFI驱动解决方案与分区建议
  • 国内做PEEK色谱柱配件的企业推荐 好用且性价比高的有哪些 - 工业品牌热点
  • 微信小程序开放能力实战:从用户信息到社交裂变的完整指南
  • 如何做视频课程的报名观看?实现报名后,才能观看视频?
  • 终极GTA5安全防护指南:YimMenu完全使用教程
  • 深入解析move_base:ROS导航系统的核心路径规划
  • 2026广东皮革行业实测封神!10家珠三角江门佛山四大皮行源头皮革/家具真皮/头层牛皮/青皮/厚皮公司口碑出众实力强劲 - 十大品牌榜