ansible使用file模块管理受控机的目录与文件(ansible2.9.5)
一,ansible的file模块的用途
file 模块实现对文件的基本操作。
例如:
创建文件或目录
删除文件或目录
修改文件权限等
说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest
对应的源码可以访问这里获取: https://github.com/liuhongdi/
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,file模块的例子:
1,使用file模块创建文件夹:
#state的取值:
directory 目录
link 链接
touch 创建文件
absent 删除文件或文件夹
[liuhongdi@centos8 work]$ ansible yujian -m file -a "path=/home/webop/ansible/ state=directory mode=0644"
121.122.123.47 | CHANGED => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/libexec/platform-python"
},
"changed": true,
"gid": 1000,
"group": "webop",
"mode": "0644",
"owner": "webop",
"path": "/home/webop/ansible/",
"size": 6,
"state": "directory",
"uid": 1000
}
2,删除一个目录
说明:即使目录非空,也会被删除
[liuhongdi@centos8 work]$ ansible yujian -m file -a "path=/home/webop/ansible/ state=absent"
3,创建一个空文件
[liuhongdi@centos8 work]$ ansible yujian -m file -a "path=/home/webop/ansible.txt state=touch"
4,创建一个符号链接
#src : 源地址
#path :符号链接的地址
[liuhongdi@centos8 work]$ ansible yujian -m file -a "path=/home/webop/ansible_link src=/var/lib state=link"
登录到受控端查看创建的符号链接
[weop@blog ~]$ ll
total 620
lrwxrwxrwx 1 webop webop 8 Apr 20 16:24 ansible_link -> /var/lib
5,修改文件权限
# owner:指定所属用户
#group:指定所属组
#mode:指定权限
[liuhongdi@centos8 work]$ ansible yujian -m file -a "path=/home/webop/ansible.txt owner=root group=root mode=0744" --become --become-method=sudo --become-user=root
登录到受控端查看文件属性的修改:
[webop@blog ~]$ ll ansible.txt -rwxr--r-- 1 root root 0 Apr 20 16:23 ansible.txt
修改成功
三,file模块的其他参数:
recurse:当要操作的文件为目录,将recurse设置为yes,
可以递归的修改目录中文件的属性
force : 当state=link的时候,force参数用来强制创建链接文件
force=yes时,表示强制创建链接文件
四,查看ansible版本
[root@centos8 liuhongdi]# ansible --version
ansible 2.9.5
ansible使用file模块管理受控机的目录与文件(ansible2.9.5)的更多相关文章
- ansible用user/group模块管理受控机上的用户和组(ansible2.9.5)
一,ansible的user/group模块的用途: ansible的user模块用来实现:生成用户.删除用户等用户的管理ansible的group模块用来实现:生成组.删除组等组的管理 说明:刘宏缔 ...
- ansible用get_url模块在受控机下载文件(ansible2.9.5)
一,ansible的get_url模块用途: get_url模块可以在受控机下载文件 可以理解成从受控端执行wget 下载的url支持:http | https | ftp 三种协议 说明:刘宏缔 ...
- ansible使用setup模块查看受控机的信息(ansible2.9.5)
一,ansible的setup模块的用途: 用来获取主机的信息 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest 对应的 ...
- ansible 的file 模块
创建.修改.删除文件或者目录: file模块 file模块常用的几个参数:state.path.src.dest.mode.owner.group.name.recurse state后面跟的参数: ...
- ansible使用script模块在受控机上执行脚本(ansible2.9.5)
一,ansible的script模块的用途 script 模块用来在远程主机上执行 ansible 管理主机上的脚本, 即:脚本一直存在于 ansible 管理主机本地, 不需要手动拷贝到远程主机后再 ...
- ansible使用shell模块在受控机上执行命令(ansible2.9.5)
一,ansible的shell模块和command模块的区别? shell模块:在远程主机上执行主控端发出的shell/python脚本 command模块:不能调用shell指令,没有bash的环境 ...
- ansible通过yum/dnf模块给受控机安装软件(ansible2.9.5)
一,使用yum/dnf模块要注意的地方: 使用dnf软件安装/卸载时,需要有root权限, 所以要使用become参数 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnb ...
- 运维自动化神器ansible之user模块
运维自动化神器ansible之user模块 一.概述 user模块 可管理远程主机上的 用户,比如创建用户.修改用户.删除用户.为用户创建密钥对等操作. 二.参数介绍 name: 用于指定操作 ...
- 自动化运维Ansible之常用模块
目录 0.Ansible模块语法 1.Command模块 2.Shell模块 3.Scripts模块 4.Copy模块 5.File模块 6.Yum模块 7.Service模块 8.Cron模块 9. ...
随机推荐
- python 3 break 循环控制
人类的本质是一个复读机
- [CF664A]Complicated GCD(数论)
题目链接 http://codeforces.com/problemset/problem/664/A 题意 给两个数,找出它们的最大公因子d,使得从a到b之间的数都可以整除d. 题解 结论: 当gc ...
- 预科班D2
2020.09.08星期二 预科班D2 学习内容: 一.复习 1.平台: 平台=操作系统+计算机硬件 2.跨平台性 3.文件 文件是指操作系统提供给上层使用者操作硬盘的一种功能.
- SpringBoot-02-原理初探之主启动类
2. 原理初探 2.1 pom.xml 父依赖 主要依赖一个父项目,主要管理项目的资源过滤和插件 <parent> <groupId>org.springframework.b ...
- google protocol buffer——protobuf的问题和改进2
这一系列文章主要是对protocol buffer这种编码格式的使用方式.特点.使用技巧进行说明,并在原生protobuf的基础上进行扩展和优化,使得它能更好地为我们服务. 在上一篇文章中,我们举例了 ...
- 容器云平台No.3~kubernetes使用
今天是是第三篇,接着上一篇继续 首先,通过kubectl可以看到,三个节点都正常运行 [root@k8s-master001 ~]# kubectl get no NAME STATUS ROLES ...
- Cesium系统学习整理(一)
(一)Cesium的概念定义 Cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎.Cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区域,并提供良好的 ...
- Kafka控制器事件处理全流程分析
前言 大家好,我是 yes. 这是Kafka源码分析第四篇文章,今天来说说 Kafka控制器,即 Kafka Controller. 源码类的文章在手机上看其实效果很差,这篇文章我分为两部分,第一部分 ...
- Go map相关
map Go语言中的map是一种无序的,基于key-value的数据解构,在Go语言中map是引用类型,因此必须初始化后才能使用. 以下示例将展示如何声明一个map类型,以及如何简单使用. 需要注意的 ...
- Onethink 前台编辑器调用
比较偷懒的调用方式 <textarea name="content"></textarea> {:hook('documentEditFormContent ...