ansible的命令操作模块<6>

本文介绍了Ansible中command、shell及script三个模块的使用方法。包括如何执行远程命令、条件执行命令以及运行本地脚本等高级操作。

ansible的前面的模块都是对受管主机中的文件进行修改或者插入操作,今天继续跟随学习ansible的命令模块,比如说我要通过ansible在受管主机上执行我们常用的某些命令,该怎么操作

command模块:

image
image
ansible test177 -m command -a "ls"
在177中以root的身份查看177当前环境下的文件或目录
image
ansible test177 -m command -a 'chdir=/root/test ls'
在177上的test目录下执行ls命令:
image
ansible test177 -m command -a "creates=/root/test/file2 echo love"
在远程主机上找是否有file2文件,如果有就不输出,没有就输出love:

image

shell模块:

shell模块可以在远程主机上执行命令,与command不同的是,shell执行命令时会经过远程主机的bin/sh进行处理
image
以上是shell的参数
当然shell最大的好处就是它识别管道符和导入符号
ansible test177 -m shell -a "chdir=/root/test/ echo test > file3"
以上命令表示在177的test目录下面,将test这个字符串导入到test目录下的file3文件中
image
image

script模块:

可以帮助我们在受管机上执行我们ansible主机的脚本文件
image
ansible test177 -m script -a "chdir=/root/test /root/sa.sh"
表示在177的test目录下面执行ansible主机root/sa.sh脚本
image
ansible test177 -m script -a "creates=/root/test/file1 /root/sa.sh"
表示如果file1这个文件在受管主机上存在,我就不执行此脚本,如果存在就行这个及脚本
我远程主机上有file1但没有file5
image
我的脚本只是一个简单的echo‘so young’
我们还可以将上述命令中的creates换成removes,意思是相反的,如果没有就不执行,如果有就执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值