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

Linux-Ansible模块进阶

文章目录

    • Copy和Fetch
    • File模块

Copy和Fetch

在这里插入图片描述

copy和fetch模块实践

  • copy模块需要注意的点:在收集日志之前需要对文件先进行改名或者备份
  • fetch模块需要注意的点:复制的源文件的路径必须是文件不能是目录
  • 建议全部使用绝对路径,别使用相对路径
  • 确保ansible有足够的权限去访问源文件以及源目录

需求1:将控制器中的文件 root/data/test 复制到192.168.1.100/tmp中,复制过程中将其所属指定为root:root,权限设置755,然后test输入 hello openEuler1

mkdir -p /root/data
cd /root/data
touch test

ansible 192.168.1.100 -m copy -a "src=/root/data/ dest=/tmp/data/  owner=root group=root mode=755"    #将文件传送到
ansible 192.168.1.100 -m copy -a "content='hello openEuler1' dest=/tmp/data/test"  #被控制端文件添加内容
ansible 192.168.1.100 -a "cat /tmp/data/test"    #查看被控制端文件内容
ansible 192.168.1.100 -m fetch -a "src=/tmp/data/test dest=/tmp"  #被控制端文件拿回到控制端
ls /tmp/192.168.1.100/tmp/data
cat test    #到此完成文件传送到被控制端并且添加文本内容,最后回到控制端

注意

#如果在控制端将文件修改之后执行下面的命令会对文件内容进行覆盖
ansible 192.168.1.100 -m copy -a "src=/root/data/ dest=/tmp/data/  owner=root group=root mode=755"
#但是如果加上 force 参数之后,不会对文本内容进行覆盖
ansible 192.168.1.100 -m copy -a "force=no src=/root/data/ dest=/tmp/data/  owner=root group=root mode=755"

File模块

在这里插入图片描述

之前使用 command 模块创建文件存在告警,这说明创建文件有专门的模块去处理

File模块实践

需求:被控制主机192.168.1.100 中创建目录 /tmp/file/data,归属用户和组指定为 test:test,权限设置为 755,然后在该目录下创建文件 test,并为 test 创建软链接指向 /tmp/link,最后删除目录 /tmp/file

#创建文件夹并且指定所属用于所属组且指定权限
ansible 192.168.1.100 -m file -a "path=/tmp/file/data owner=test group=test mode=755 state=directory"
#创建文件
ansible 192.168.1.100 -m file -a "path=/tmp/file/data/test state=touch"
#创建软链接,源文件路径/tmp/file/data/test,指定软链接路径 /tmp/link
ansible 192.168.1.100 -m file -a "src=/tmp/file/data/test dest=/tmp/link state=link"
#删除文件 /tmp/file absent adj. 缺席的 未到的
ansible 192.168.1.100 -m file -a "path=/tmp/file state=absent"
#检查文件是否真的删除掉了,此时会报错,因为源文件没有了
ansible 192.168.1.100 -m shell -a "ls /tmp/file/data | grep test"

相关文章:

  • 【我的Android进阶之旅】Android Studio SDK Update Site 国内的腾讯云镜像配置指南
  • 【Arduino小项目】控制步进电机
  • 通俗易懂的DOM1级标准介绍
  • YOLOv8与DAttention机制的融合:复杂场景下目标检测性能的增强
  • 车载诊断架构 --- LIN节点路由转发注意事项
  • 中兴G7615AV5
  • 直角三角堰计算公式
  • AutoGen 技术博客系列 八:深入剖析 Swarm—— 智能体协作的新范式
  • Linux操作系统4-进程间通信5(共享内存实现两个进程通信)
  • 【多模态处理篇二】【深度揭秘:DeepSeek视频理解之时空注意力机制解析】
  • 2025年华为手机解锁BL的方法
  • 函数指针和函数名在内存中是如何表示的
  • 计算机专业知识【揭开汇编的神秘面纱:从基础概念到实际应用】
  • VMware虚拟机手动安装VMware Tools
  • 合并区间(56)
  • [创业之路-321]:创新开拓思维和经营管理思维的比较
  • rkipc main.c 中 rk_param_init函数分析
  • vue3项目开发总结
  • Java 12~14 新特性
  • 力扣LeetCode: 2506 统计相似字符串对的数目
  • 青岛品牌策划公司排名/广州四楚seo顾问
  • 做旅行社网站/百度如何推广产品
  • 手机网站建设推广/青岛今天发生的重大新闻
  • 北沙滩网站建设/重庆关键词优化服务
  • 网站关键词标签/seo优化服务公司
  • 北京网站建设公司大全/杭州seo排名优化