Ansible模块
command模块(作用:在远程节点上执行一个命令)
command模块是ansible命令基本模块,可以不用指定,其次要注意的是
选项参数 | 选项说明 |
---|---|
chdir | 在执行命令执行,通过cd命令进入指定目录 |
creates | 定义一个文件是否存在,若不存在,则运行相应命令;存在则跳过 |
free_form(必须) | 参数信息中可以输入任何系统命令,实现远程管理 |
removes | 定义一个文件是否存在,如果存在,则运行相应命令;如果不存在则跳过 |
- 使用command模块执行远程命令,命令不得用变量($HOME)、不得出现特殊符号
< 、>、|、;、&
,否则无法识别,需要则使用shell模块实现
# 最简写法,uptime可以换成其他任意linux命令,注意不得携带管道符、重定向等符号 获取所有被管控主机负载信息 [root@rsync-backup ~]# ansible nfs,nginxweb -a 'uptime' 10.0.0.30 | CHANGED | rc=0 >> 00:27:23 up 46 min, 2 users, load average: 0.00, 0.01, 0.05 10.0.0.50 | CHANGED | rc=0 >> 00:27:23 up 46 min, 2 users, load average: 0.00, 0.01, 0.05 #切换到/tmp目录,然后输出当前目录 [root@rsync-backup ~]# ansible nfs,nginxweb -a 'pwd chdir=/tmp' 10.0.0.30 | CHANGED | rc=0 >> /tmp 10.0.0.50 | CHANGED | rc=0 >> /tmp #参数creates实践 creates=/etc作用是,判断该目录是否存在,存在则跳过动作 不存在则执行: [root@rsync-backup ~]# ansible nfs,nginxweb -a 'pwd creates=/optlllll' 10.0.0.50 | CHANGED | rc=0 >> /root 10.0.0.30 | CHANGED | rc=0 >> /root 反之,存在则跳过 [root@rsync-backup ~]# ansible nfs,nginxweb -a 'pwd creates=/opt' 10.0.0.30 | SUCCESS | rc=0 >> skipped, since /opt exists 10.0.0.50 | SUCCESS | rc=0 >> skipped, since /opt exists
shell模块
shell模块功能:在远程节点上执行命令(复杂的命令)
注意:使用shell模块执行脚本时,需要
只有经历过生活的苦难
才会更加努力去生活
自己梦想的一切
更加需要自己脚踏实地的去践行
结果未必尽如人意
但是路途中的努力
一定比结果更加美丽
----by ljw