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 mode=755 owner=root group=root" -s
10.0.0.20 | SUCCESS => {
    "changed": false,
    "gid": 0,
    "group": "root",
    "mode": "0755",
    "owner": "root",
    "path": "/tmp/test.sh",
    "size": 76,
    "state": "file",
    "uid": 0
}
10.0.0.21 | SUCCESS => {
    "changed": false,
    "gid": 0,
    "group": "root",
    "mode": "0755",
    "owner": "root",
    "path": "/tmp/test.sh",
    "size": 76,
    "state": "file",
    "uid": 0
}

调用-s 参数,需要客户端能够无密码使用sudo 命令;
例:更改所有节点上/tmp/test0001 的权限为644,属主和属组为boy
前提是client节点必须已经创建用户boy

[[email protected] tmp]# useradd boy
[[email protected] tmp]# useradd boy

[[email protected] ~]# ansible slave -m file -a "dest=/tmp/txt01 mode=755 owner=boy group=boy" -s
client02 | SUCCESS => {
    "changed": true,
    "gid": 500,
    "group": "boy",
    "mode": "0755",
    "owner": "boy",
    "path": "/tmp/txt01",
    "size": 6,
    "state": "file",
    "uid": 500
}
agent.test.com | SUCCESS => {
    "changed": true,
    "gid": 501,
    "group": "boy",
    "mode": "0755",
    "owner": "boy",
    "path": "/tmp/txt01",
    "size": 6,
    "state": "file",
    "uid": 501
}

否则报错:
[[email protected] ~]# ansible slave -m file -a "dest=/tmp/txt01 mode=755 owner=boy group=boy" -s
agent.test.com | FAILED! => {
    "changed": false,
    "failed": true,
    "gid": 0,
    "group": "root",
    "mode": "0644",
    "msg": "chown failed: failed to look up user boy",
    "owner": "root",
    "path": "/tmp/txt01",
    "size": 6,
    "state": "file",
    "uid": 0
}
client02 | FAILED! => {
    "changed": false,
    "failed": true,
    "gid": 0,
    "group": "root",
    "mode": "0644",
    "msg": "chown failed: failed to look up user boy",
    "owner": "root",
    "path": "/tmp/txt01",
    "size": 6,
    "state": "file",
    "uid": 0
}

[[email protected] tmp]# ll txt01
-rwxr-xr-x 1 boy boy 6 Jul 30 20:50 txt01

[[email protected] tmp]# ll txt01
-rwxr-xr-x 1 boy boy 6 Jul 30 20:50 txt01

原文地址:http://blog.51cto.com/wujianwei/2082891

时间: 2024-10-12 11:43:35

ansible 之file模块的相关文章

Ansible(12) file模块

file模块 在之前ansible命令行的时候有copy模块,在playbook的时代自然也有一个模块专门负责文件的拷贝,当然这个时代它不仅仅是文件拷贝那么简单. 来自官方的解释: file模块它包含了文件.文件夹.超级链接类的创立.拷贝.移动.删除操作. 常用参数 参数名 是否必须 默认值 选项 说明 follow no no yes/no 如果原来的文件是link,拷贝后依旧是link force no no yes/no 强制执行,没说的 group no 设定一个群组拥有拷贝到远程节点的

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之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之copy模块

有时需要把某个文件批量拷贝到其他主机上,那么ansible已经提供相应的模块了.那就是copy.. copy用法 [[email protected] ~]# ansible-doc -s copy 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 redistr

自动化运维之Ansible安装与模块应用

自动化运维之Ansible Ansible概述 由于互联网快速展导致产品更新换代速度逐渐加快,运维人员每天都要进行大量维护操作,人就按照传统方式进行维护会使工作效率低下,只是,部署自动化运维就尽可能安全,高校的完成工作 一般会把自动化运维工具划分为两类 (一)需要使用代理工具的,也就是基于专用的Agent程序完成管理功能,如:Puppet.Func.Zabbix等(二)不需要配置代理工具,可以直接基于SSH服务来管理完成,如:Ansible,Fabric等 下面介绍几款空能和类似的自动化运维工具

自动化运维之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:指定操作的主机,