Ansible学习笔记4

file模块:

file模块用于对文件相关的操作(创建、删除、属性修改、软链接等)touch是创建。

[root@localhost ~]# ansible group1 -m file -a "path=/tmp/111 state=touch"
192.168.17.105 | CHANGED => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"},"changed": true,"dest": "/tmp/111","gid": 0,"group": "root","mode": "0644","owner": "root","size": 0,"state": "file","uid": 0
}
192.168.17.106 | CHANGED => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"},"changed": true,"dest": "/tmp/111","gid": 0,"group": "root","mode": "0644","owner": "root","size": 0,"state": "file","uid": 0
}
[root@localhost ~]# ansible group1 -m file -a "path=/tmp/111 state=touch owner=ftp group=daemon mode=777"
192.168.17.105 | CHANGED => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"},"changed": true,"dest": "/tmp/111","gid": 2,"group": "daemon","mode": "0777","owner": "ftp","size": 0,"state": "file","uid": 14
}
192.168.17.106 | CHANGED => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"},"changed": true,"dest": "/tmp/111","gid": 2,"group": "daemon","mode": "0777","owner": "ftp","size": 0,"state": "file","uid": 14
}

创建目录,并更改权限:directory:

[root@localhost ~]# ansible group1 -m file -a "path=/test/aaa/bbb state=directory mode=777"
192.168.17.106 | CHANGED => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"},"changed": true,"gid": 0,"group": "root","mode": "0777","owner": "root","path": "/test/aaa/bbb","size": 6,"state": "directory","uid": 0
}
192.168.17.105 | CHANGED => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"},"changed": true,"gid": 0,"group": "root","mode": "0777","owner": "root","path": "/test/aaa/bbb","size": 6,"state": "directory","uid": 0
}
[root@agent1 tmp]# cd /test/aaa/bbb
[root@agent1 bbb]# ll
total 0
[root@agent1 bbb]# pwd
/test/aaa/bbb

删除文件:absent

[root@localhost ~]# ansible group1 -m file -a "path=/tmp/112 state=absent"
192.168.17.106 | CHANGED => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"},"changed": true,"path": "/tmp/112","state": "absent"
}
192.168.17.105 | CHANGED => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"},"changed": true,"path": "/tmp/112","state": "absent"
}

absent:没有、缺席、缺乏的意思。

删除目录:

[root@localhost ~]# ansible group1 -m file -a "path=/test state=absent"
192.168.17.105 | CHANGED => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"},"changed": true,"path": "/test","state": "absent"
}
192.168.17.106 | CHANGED => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"},"changed": true,"path": "/test","state": "absent"
}

absent:目录将会递归被删除。文件和软链接将会unlinked。

创建软链接:

[root@localhost ~]# ansible group1 -m file -a "src=/tmp/111 path=/tmp/222 state=link"
192.168.17.105 | CHANGED => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"},"changed": true,"dest": "/tmp/222","gid": 0,"group": "root","mode": "0777","owner": "root","size": 8,"src": "/tmp/111","state": "link","uid": 0
}
192.168.17.106 | CHANGED => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"},"changed": true,"dest": "/tmp/222","gid": 0,"group": "root","mode": "0777","owner": "root","size": 8,"src": "/tmp/111","state": "link","uid": 0
}

我们看到软链接的文件的大小稍微大点。

硬链接:hard

[root@localhost ~]# ansible group1 -m file -a "src=/tmp/111 path=/tmp/555 state=hard"
192.168.17.105 | CHANGED => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"},"changed": true,"dest": "/tmp/555","gid": 2,"group": "daemon","mode": "0777","owner": "ftp","size": 0,"src": "/tmp/111","state": "hard","uid": 14
}
192.168.17.106 | CHANGED => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"},"changed": true,"dest": "/tmp/555","gid": 2,"group": "daemon","mode": "0777","owner": "ftp","size": 0,"src": "/tmp/111","state": "hard","uid": 14
}

硬链接是看inode号。

group的组配置,要注意下是要存在的。

修改硬链接的属性:file ,如果是硬链接,就需要添加state=file,这个要注意的。

[root@localhost ~]# ansible group1 -m file -a "path=/tmp/555 state=file owner=ftp group=daemon mode=000"
192.168.17.105 | CHANGED => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"},"changed": true,"gid": 2,"group": "daemon","mode": "0000","owner": "ftp","path": "/tmp/555","size": 0,"state": "hard","uid": 14
}
192.168.17.106 | CHANGED => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"},"changed": true,"gid": 2,"group": "daemon","mode": "0000","owner": "ftp","path": "/tmp/555","size": 0,"state": "hard","uid": 14
}

修改文件的拥有者和属组:

[root@localhost ~]# ansible group1 -m file -a "path=/tmp/aaa owner=ftp group=daemon mode=000"
192.168.17.105 | CHANGED => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"},"changed": true,"gid": 2,"group": "daemon","mode": "0000","owner": "ftp","path": "/tmp/aaa","size": 0,"state": "file","uid": 14
}
192.168.17.106 | CHANGED => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"},"changed": true,"gid": 2,"group": "daemon","mode": "0000","owner": "ftp","path": "/tmp/aaa","size": 0,"state": "file","uid": 14
}

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

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

相关文章

[SpringBoot3]视图技术Thymeleaf

七、视图技术Thymeleaf Thymeleaf是一个表现层的模板引擎,一般被使用在Web环境中,它可以处理HTML、XML、JS等文档,简单来说,它可以将JSP作为Java Web应用的表现层,有能力展示与处理数据。这样,同一个模板文…

android 12 第三方apk系统签名

需求:客户有两个供应商,我们是其中之一,然后客户想将我们的apk 用 另一家供应商的系统签名,安装到另一家供应商的设备上,另一家供应商提供了系统签名文件 用之前的方法 (platform.x509.pem platform.pk8客户…

1. 安装Zookeeper

​ 1.下载 点击下载Zookeeper 单机版安装 安装Zookeeper前需要先安装jdk上传安装包rz解压安装包:tar -zxvf apache-zookeeper-3.6.0-bin.tar.gz -C /opt/app/zookeeper zookeeper目录结构:a. bin: 放置运行脚本和工具脚本b. conf: zookeeper 默认读取配置的目录,里面会有…

docker安装gitlab

安装gitlab sudo docker run --detach \--hostname gitlab \--publish 543:443 --publish 90:80 --publish 222:22 \ --name gitlab \--restart always \--volume $GITLAB_HOME/config:/etc/gitlab \--volume $GITLAB_HOME/logs:/var/log/gitlab \--volume $GITLAB_HOME/data:…

plotlyjs 当dragmode为false时,如何获得选框正在改变的事件,并得到选框的坐标和范围

在Plotly.js中,当dragmode设置为false时,可以使用plotly_selecting事件来监听选框的变化。该事件在用户点击并开始拖动选框时触发,并在选框大小和位置发生变化时持续触发。 可以通过监听plotly_selecting事件来获取选框的坐标和范围&#xf…

Android 蓝牙开发( 四 )

前言 上一篇文章给大家分享了Kotlin版的Android蓝牙的基础知识和基础用法,不过上一篇都是一些零散碎片化的程序,,这一篇给大家分享Android蓝牙开发实战项目KotlinCompose的初步使用 效果演示 : Android Compose 蓝牙开发 Android蓝牙实战开发…

基于Laravel通用型内容建站企业官网系统源码 可免费商用

是一个基于 Laravel 企业内容建站系统。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。 系统完全开源,免费且不限制商业使用 2023年08月23日增加了以下12个特性: [新功能] 手机端Banner支持…

java基础-----第七篇

系列文章目录 文章目录 系列文章目录一、什么是字节码?采用字节码的好处是什么?1.java中的编译器和解释器:2.采用字节码的好处:二、Java中的异常体系一、什么是字节码?采用字节码的好处是什么? 1.java中的编译器和解释器: Java中引入了虚拟机的概念,即在机器和编译程…

最多可以摧毁的敌人城堡数目

问题: 给你一个长度为 n ,下标从 0 开始的整数数组 forts ,表示一些城堡。forts[i] 可以是 -1 ,0 或者 1 ,其中: -1 表示第 i 个位置 没有 城堡。0 表示第 i 个位置有一个 敌人 的城堡。1 表示第 i 个位置…

qt creater11 翻译国际化教程教程:

先出效果图。 闲聊几句:qt这个翻译很方便,能直接导出项目里所有文字。 具体步骤如下: 在Qt中,我们可以使用QTranslator类来实现多语言切换。以下是一般步骤: 1. 在你的源代码中,所有需要翻译的字符串都…

windows|修复桌面图标变成白色.bat

taskkill /f /im explorer.exe DEL %localappdata%\IconCache.db /a start explorer.exe打开方式 1 桌面新建txt文件, 复制以上代码 粘贴保存,另存为 修复桌面图标.bat 双击运行 打开方式 2 win R 输入cmd 打开终端 输入以上代码

Git企业开发控制理论和实操-从入门到深入(四)|Git的远程操作|Gitee

前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏…

【通用消息通知服务】0x2 - 初始化服务

【通用消息通知服务】0x2 - 初始化服务 项目地址: A generic message notification system[Github] 准备依赖 [tool.poetry.dependencies] python "^3.10" sanic {extras ["http3"], version "^23.3.0"} tortoise-orm "^0.19.3"…

OpenHarmony 应用 ArkUI 状态管理开发范例

本文转载自《#2023 盲盒码 # OpenHarmony 应用 ArkUI 状态管理开发范例》,作者:zhushangyuan_ 本文根据橘子购物应用,实现 ArkUI 中的状态管理。 在声明式 UI 编程框架中,UI 是程序状态的运行结果,用户构建了一个 UI …

synchronized

1、synchronized锁的修饰的是方法和块 2、synchronized锁修饰静态方法就是类锁;修饰非静态方法就是对象锁。 3、类锁:是如果有N个静态的方法被synchronized修饰,有一个线程执行其中一个加锁的静态方法,那么其他的线程就无法继续…

MySQL8.xx 解决1251 client does not support ..解决方案

MySQL8.0.30一主两从复制与配置(一)_蜗牛杨哥的博客-CSDN博客 MySQL8.xx一主两从复制安装与配置 MySQL8.XX随未生成随机密码解决方案 一、客户端连接mysql,问题:1251 client does not support ... 二、解决 1.查看用户信息 备注:host为 % …

Git和Github的基本用法

目录 背景 下载安装 安装 git for windows 安装 tortoise git 使用 Github 创建项目 注册账号 创建项目 下载项目到本地 Git 操作的三板斧 放入代码 三板斧第一招: git add 三板斧第二招: git commit 三板斧第三招: git push 小结 🎈个人主页&#xf…

iOS开发Swift-3-UI与按钮Button-摇骰子App

1.创建新项目Dice 2.图标 删去AppIcon,将解压后的AppIcon.appiconset文件拖入Assets包。 3.将素材点数1-6通过网页制作成2x,3x版本并拖入Asset。 4.设置对应的UI。 5.拖入Button组件并设置style。 6.Ctrl加拖拽将Button拖拽到ViewController里&#xff0…

5G NR:RACH流程 -- Msg1之选择正确的PRACH时频资源

PRACH的时域资源是如何确定的 PRACH的时域资源主要由参数“prach-ConfigurationIndex”决定。拿着这个参数的取值去协议38211查表6.3.3.2-2/3/4,需要注意根据实际情况在这三张表中进行选择: FR1 FDD/SULFR1 TDDFR2 TDD Random access preambles can onl…

Python实现多子图绘制系统

文章目录 修改DrawTypeDrawType的调用逻辑绘图逻辑源代码 Python绘图系统: 📈从0开始的3D绘图系统📉一个3D坐标系,多个函数图表类型和风格:📉极坐标绘图📊散点图和条形图📊混合类型…