Ansible(12) file模块

file模块

在之前ansible命令行的时候有copy模块,在playbook的时代自然也有一个模块专门负责文件的拷贝,当然这个时代它不仅仅是文件拷贝那么简单。

来自官方的解释:

file模块它包含了文件、文件夹、超级链接类的创立、拷贝、移动、删除操作。

常用参数

参数名 是否必须 默认值 选项 说明
follow no no yes/no 如果原来的文件是link,拷贝后依旧是link
force no no yes/no 强制执行,没说的
group no 设定一个群组拥有拷贝到远程节点的文件权限
mode no 等同于chmod,参数可以为“u+rwx or u=rw,g=r,o=r”
owner no 设定一个用户拥有拷贝到远程节点的文件权限
path yes 目标路径,也可以用dest,name代替
src yes 待拷贝文件/文件夹的原始位置。
state no file file/link/directory/hard/touch/absent file代表拷贝后是文件;link代表最终是个软链接;directory代表文件夹;hard代表硬链接;touch代表生成一个空文件;absent代表删除

案例

# 修改文件的所有组、人、权限。
- file: path=/etc/foo.conf owner=foo group=foo mode=0644
# 操作链接的案例
- file: src=/file/to/link/to dest=/path/to/symlink owner=foo group=foo state=link
#参数化案例
- file: src=/tmp/{{ item.path }} dest={{ item.dest }} state=link
  with_items:
    - { path: ‘x‘, dest: ‘y‘ }
    - { path: ‘z‘, dest: ‘k‘ }

# 使用touch来创建一个空文件并定义权限
- file: path=/etc/foo.conf state=touch mode="u=rw,g=r,o=r"

# touch一个空文件,并且修改权限
- file: path=/etc/foo.conf state=touch mode="u+rw,g-wx,o-rwx"

如何?是否跟copy很相似?

时间: 2024-10-20 11:38:38

Ansible(12) file模块的相关文章

ansible 的file 模块

创建.修改.删除文件或者目录: file模块 file模块常用的几个参数:state.path.src.dest.mode.owner.group.name state后面跟的参数:  touch  :创建文件 directory:创建目录 absent:删除文件或者目录或者链接文件 link:创建链接文件 " path + file " = " dest + file " = " name + file " 1.对普通文件的操作命令: # an

ansible之file模块

file用法选项 [[email protected] ~]# ansible-doc -s file less 436 Copyright (C) 1984-2009 Mark Nudelman less comes with NO WARRANTY, to the extent permitted by law. For information about the terms of redistribution, see the file named README in the less d

ansible 之file模块

调用-s 参数,需要客户端能够无密码使用sudo 命令:例:更改所有节点上/tmp/test.sh 的权限为755,属主和属组为root [[email protected] ~]# ansible slave -m file -a "dest=/tmp/test.sh mode=755 owner=root group=root" –s [[email protected] ~]# ansible slave -m file -a "dest=/tmp/test.sh mo

运维自动化神器ansible之user模块

运维自动化神器ansible之user模块 一.概述 ?user模块 可管理远程主机上的 用户,比如创建用户.修改用户.删除用户.为用户创建密钥对等操作. 二.参数介绍 ? name: 用于指定操作的 user,必须项. uid: 用于指定 user 的 UID,默认为空. _non_unique:_ 与uid参数一起使用,允许改变UID为非唯一值. group: 参数用于指定用户 主组.默认值为空,为空时创建的用户组名跟用户名一致. groups: 参数用于指定用户属组,可以在创建用户时指定用

ansible执行shell模块和command模块报错| FAILED | rc=127 >> /bin/sh: lsof: command not found和| rc=2 >> [Errno 2] No such file or directory

命令: ansible -i hosts_20 st  -m shell -a 'service zabbix_agentd star'  -K --become ansible -i hosts_20 st  -m shell -a 'lsof -i:10050'  -K --become 在shell模块报错:| FAILED | rc=127 >>/bin/sh: lsof: command not found 在command模块报错:| rc=2 >>[Errno 2]

自动化运维之Ansible应用基础模块(超详细)

Ansible是一种基于模块进行工作的框架结构.批量部署能力就是由Ansible所运行的模块实现的.简而言之Ansible是基于"模块"完成各种"任务"的. Ansible常用的核心模块 模块的基本语法如下 ansible [主机] [-m 模块] [-a args] //命令格式 # ansible-doc -l //列出所有已安装的模块 注:按q退出 # ansible-doc -s yum //-s列出yum模块描述信息和操作动作 1.command 模块 c

超详细Ansible安装及模块详解

简介:ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能. ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架.主要包括: (1).连接插件connection plugins:负责和被监控端实现通信; (2).host inventory:指定操作的主机,

自动化运维工具ansible——安装及模块管理

ansible简介 ?ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能. ?ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架.主要包括:(1).连接插件connection plugins:负责和被监控端实现通信:(2).host inventory:指

Ansible安装及模块管理(最全操作,可跟做!)

一.Ansible安装 环境准备 管理端:CentOS 7-2 192.168.18.147被管理端1:CentOS 7-3 192.168.18.128被管理端2:CentOS 7-4 192.168.18.148 管理端: [[email protected] ~]# systemctl stop firewalld.service [[email protected] ~]# setenforce 0 [[email protected] ~]# yum install epel-rele