3.Ansible的file模块,我最常用的文件操作

1.file 模块的用法

1.1 官方概念

Set attributes of files, symlinks or directories. Alternatively, remove files, symlinks or directories. Many other modules support the same options as the `file’ module - including [copy], [template], and
[assemble]. For Windows targets, use the [win_file] module instead.

1.2 参数描述

参数描述
path指定要操作的文件或目录Path to the file being managed
state这个参数的值很多,主要是来规定操作的一些类型,我这里就列举一下我经常用到的
absent:删除操作,可以删除文件或者目录
touch:创建文件,如果文件已经存在,则会更新文件的时间戳
directory:创建目录,如果目录不存在,那么所有的子目录将被创建(而且提供权限的创建),如果目录# 已经存在,则不进行任何操作
mode:修改权限

1.3 示例

1.3.1 创建目录

1.3.1.1 执行命令

ansible all -m file -a 'path=/testfile state=directory'

在这里插入图片描述
在这里插入图片描述

1.3.1.2 验证

从上面的结果来看,已经创建成功了。去远程机器上看下
在这里插入图片描述
结果符合预期。

1.3.2 创建文件

1.3.2.1 执行命令

ansible all -m file -a 'path=/testfile/a.txt state=touch'

在这里插入图片描述
在这里插入图片描述

1.3.2.2 结果验证

从上面的返回结果来看,已经执行成功。再去远程机器看下
在这里插入图片描述

符合预期。

1.3.2.3 重新执行命令

我们在host1上修改a.txt文件,加入内容
在这里插入图片描述
再执行命令:

ansible all -m file -a 'path=/testfile/a.txt state=touch'

在这里插入图片描述
在这里插入图片描述

1.3.2.4 重新执行命令的结果

在这里插入图片描述
我们看到,内容没变变化,文件时间改变了。

1.3.3 删除文件

1.3.3.1 执行命令

ansible all -m file -a 'path=/testfile/a.txt state=absent'

在这里插入图片描述

1.3.3.2 结果验证

从返回结果来看,已经成功。去远程机器看下
在这里插入图片描述
文件已经删除了。

1.3.4 删除目录

1.3.4.1 执行命令

ansible all -m file -a 'path=/testfile/ state=absent'

在这里插入图片描述

1.3.4.2 结果验证

从上面的结果来看,命令执行成功了。去远程机器上看下
在这里插入图片描述
我们看到目录删除掉了,符合预期。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/235777.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机械臂仿真之vrep如添加视觉传感器

基于视觉的机械臂作业任务,如何在vrep中加入视觉传感器,并获取画面?

Linux常用命令——pwd命令

文章目录 简介pwd命令的参数常见用法及实例1. 基本用法2. 使用 -P 参数3. 使用 -L 参数注意事项 结论 简介 pwd(Print Working Directory)是Linux和Unix系统中的一个常用命令,用于显示当前工作目录的完整路径。这个命令对于定位用户当前所在…

centos7下执行yum命令报错

前言 在Linux系统中,安装nginx时候,需要先安装环境。 Nginx是使用C语言开发,安装nginx需要先从官网上将源码下载,然后编译,编译需要gcc环境,但是在安装gcc环境的时候,执行命令报错。 yum install –y gcc-…

【驱动】串口驱动分析(一)-软件架构

区分不同的终端类型 串行端口终端(/dev/ttySn) 串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。计算机把每个串行端口都看作是一个字符设备。 有段时间这些串行端口设备通常被称为终端设备&#xff0…

快速了解ChatGPT(大语言模型)

目录 GPT原理:文字接龙,输入一个字,后面会接最有可能出现的文字。 GPT4 学会提问:发挥语言模型的最大能力 参考李宏毅老师的课快速了解大语言模型做的笔记: Lee老师幽默的开场: GPT:chat Ge…

利用MCMC 获得泊松分布

写出概率流方程如下 if state 0: if np.random.random() < min([Lambda/2, 1]):state 1else:passelif state 1:if choose_prob_state[i] < 0.5:#选择 1 -> 0&#xff0c;此时的接受概率为min[2/Lambda, 1]if np.random.random() < min([2/Lambda, 1]…

百度推送收录工具-免费的各大搜索引擎推送工具

在互联网时代&#xff0c;网站收录是网站建设的重要一环。百度推送工具作为一种提高网站收录速度的方式备受关注。在这个信息爆炸的时代&#xff0c;对于网站管理员和站长们来说&#xff0c;了解并使用一些百度推送工具是非常重要的。本文将重点分享百度批量域名推送工具和百度…

Visual Studio 2022分析C#程序内存泄漏

背景 最近我们的项目出现了内存激增的情况&#xff0c;初次探讨&#xff0c;我们发现和机器人发生通信之后&#xff0c;内存会缓慢上升&#xff0c;直到系统崩溃。 例子 由于只是介绍一个简单的方案&#xff0c;所以就写一个比较简单的例子来演示了&#xff0c;代码如下&…

数据接口测试工具 Postman 介绍!

此文介绍好用的数据接口测试工具 Postman&#xff0c;能帮助您方便、快速、统一地管理项目中使用以及测试的数据接口。 1. Postman 简介 Postman 一款非常流行的 API 调试工具。其实&#xff0c;开发人员用的更多。因为测试人员做接口测试会有更多选择&#xff0c;例如 Jmeter…

Git修改远程仓库名称

1、先直接在远程点仓库名&#xff0c;然后左侧菜单栏找settings-general&#xff0c;然后直接修改工程名&#xff0c;保存即可。 2、还是在settings-general下&#xff0c;下拉找到Advanced点击Expand展开&#xff0c;然后下拉到最底部 在Change path里填入新的项目名称&#x…

JPA代码生成器

【Java代码生成神器】自动化生成Java实体类、代码、增删改查功能&#xff01;点击访问 推荐一个自己每天都在用的Java代码生成器&#xff01;这个网站支持在线生成Java代码&#xff0c;包含完整的Controller\Service\Entity\Dao代码&#xff0c;完整的增删改查功能&#xff01…

elementui中添加开关控制

<template><!-- 图层管理 --><div class"home-wrapper"><div class"table-list"><div class"list"><el-table :data"tableData" height"100%" style"width: 100%;" border>&…