Linux-Ansible模块进阶

news/2025/2/23 6:13:38

文章目录

    • 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"

http://www.niftyadmin.cn/n/5863086.html

相关文章

如何将公钥正确添加到服务器的 authorized_keys 文件中以实现免密码 SSH 登录

1. 下载密钥文件 2. RSA 解析 将 id_ed25519 类型的私钥转换为 RSA 类型,要将 ED25519 私钥转换为 RSA 私钥,需要重新生成一个新的 RSA 密钥对。 步骤: 生成新的 RSA 密钥对 使用 ssh-keygen 来生成一个新的 RSA 密钥对。比如,执…

浅谈小程序内嵌h5分享

前言 暂停一下,如果你要实现小程序内嵌h5自定义内容分享给好友你会怎么搞🐽 —————————————————————————————————————— 实践 h5发送数据 export function sendMiniProgram(data) {wx.miniProgram.postMessage(…

深入理解设计模式之组合模式

深入理解设计模式之组合模式 在软件开发的世界里,设计模式就像是一套经过实践验证的最佳解决方案,帮助开发者更高效地构建软件系统。组合模式(Composite Pattern)作为 23 种经典设计模式中的一员,在处理具有 “整体 -…

从0开始:OpenCV入门教程【图像处理基础】

图像处理基础 一、OpenCV主要功能及模块介绍 1、内置数据结构和输入/输出 OpenCV内置了丰富的与图像处理有关的数据结构,如Image、Point、Rectangle等。core模块实现了各种基本的数据结构。imgcodecs模块提供了图像文件的读写功能,用户使用简单的命令…

AutoGen 技术博客系列 八:深入剖析 Swarm—— 智能体协作的新范式

本系列博文在掘金同步发布, 更多优质文章,请关注本人掘金账号: 人肉推土机的掘金账号 AutoGen系列一:基础介绍与入门教程 AutoGen系列二:深入自定义智能体 AutoGen系列三:内置智能体的应用与实战 AutoGen系列四&am…

《论软件的可靠性评价》审题技巧 - 系统架构设计师

论软件的可靠性评价写作框架 一、考点概述 软件可靠性评价作为软件可靠性活动的关键环节,是确保软件质量、提升用户体验的重要手段。本题主要考察以下几个方面的内容: 首先,本题要求考生理解并掌握软件可靠性评价的基本概念及其在软件开发…

C语言的内存分配:malloc和free

使用库函数分配和管理内存。在运行时,分配更多的内存给程序使用,主要工具是malloc函数,这个函数接受一个参数:所需要要的内存字节数。malloc函数会找到合适的空闲内存块,这样的内存是匿名的,即malloc分配了…

商贸物流产业大脑:智能化驱动,赋能商贸物流高效运营

商贸物流产业大脑:智能化驱动,赋能商贸物流高效运营 在数字化转型的浪潮中,商贸物流行业正面临着效率提升、成本控制、服务质量优化等多重挑战。作为全国领先的综合技术解决方案提供商,临沂呆马区块链网络科技有限公司&#xff0…