Ansible 模块类型 Ad-Hoc、copy模块、command模块、 shell模块、script模块

Ansible提供两种方式去完成任务,一是 ad-hoc 命令,一是写ansible

Ad-Hoc:可以执行一些临时命令
playbook:执行很多命令,并且这条命令需要增加判断或者循环,经常反复性的事情。

命令格式:
在ansible中统称为ansible ad-hoc
ansible 资产选择器 【-i inventory】 -m module -a argument

-i 指定资产清单文件的位置
-m 指定本次ansible ad-hoc 要执行的模块,可以类别成shell中的命令
-a 模块的参数,可以类比成shell中的命令参数

模块类型

ansible 模块分三种类型:

核心模块:是由ansible的官方团队提供的
附加模块:是由各个社区提供的
用户自定义模块:当核心模块和附加模块都无法满足你的需求时,用户可以自定义模块
默认情况下,在安装ansible的时候,核心模块和附加模块都已经安装而无须用户干预

在这里插入图片描述

command模块

是ad-hoc的默认模块,在执行ad-hoc时,若不指定模块的名字,则默认使用此模块

[root@localhost opt]# ansible all -i hosts -a “echo ‘hello’”
192.168.88.129 | CHANGED | rc=0 >> hello
[root@localhost opt]# ansible all -i hosts -m shell -a “echo ‘hello’”
192.168.88.129 | CHANGED | rc=0 >> hello

shell模块

可以执行shell的内置命令和特性 比如(管道符)
command模块:它无法执行shell的内置命令和特性

  • example

shell模块

[root@localhost opt]# ansible all -i hosts -m shell -a “echo ‘hello’ |
grep -o ‘e’”
192.168.88.129 | CHANGED | rc=0 >> e

command模块

[root@localhost opt]# ansible all -i hosts -a “echo ‘hello’ | grep -o
‘e’”
192.168.88.129 | CHANGED | rc=0 >> hello | grep -o e

script模块

将管理节点上的脚本传递到被管理节点上进行执行,理论上此模块的执行完全不需要被管理服务器上有python

  • example

管理节点上的一个脚本
在管理节点上面创建一个文件

[root@localhost opt]# echo touch /tmp/testfile > a.sh
[root@localhostopt]# ansible dbserver -i hosts -m script -a “/opt/a.sh”

然后在被管理节点就能在 、tmp中查找到testfile文件啦
在这里插入图片描述

copy模块

copy模块的主要用于管理节点和被管理节点之间的文件拷贝
经常使用到的参数如下:

src:指定拷贝文件的源地址
dest:指定拷贝文件的目标地址
backup:拷贝文件前,若原始文件发生变化,则对目标文件进行备份
woner:指定新拷贝文件的所有者
group:指定新拷贝文件的所有组
mode:指定新拷贝文件的权限

  • example

[root@localhost opt]# ansible dbserver -i hosts -m copy -a
“src=/opt/nginx.conf dest=/tmp/hh,conf”

[root@localhost opt]# ansible dbserver -i hosts -m copy -a
“src=/opt/nginx.conf dest=/tmp/hh,conf backup=yes”

[root@localhost opt]# ansible dbserver -i hosts -m copy -a
“src=/opt/nginx.conf dest=/tmp/hh,conf mode=777”
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值