ansible命令执行模块使用
2016-01-21 10:49
330 查看
ansible命令执行模块使用
1、命令执行模块-command
在远程节点上运行命令。命令模块使用命令名称,接上空格-的分割符作为参数使用,但是不支持管道符和变量等,如果要使用这些,那么可以使用shell模块。
参数 | 必填 | 默认 | 选项 | 说明 |
Chdir | No | 更换目录 | ||
Creates | No | 当文件名已经存在的时候,此步不会执行 | ||
Executable | No | 换用shell执行命令,表示为一个绝对路径 | ||
Free_form | Yes | 需要执行的脚本(没有真正的参数为free_form) | ||
Removes | No | 当文件名称存在的时候,此步不会执行 | ||
Warn | No | True | 如果在ansible.cfg中存在告警,如果设定了no/False,不会警告此行 |
[root@ansibleserver tmp]# ansible pythonserver -a "ls -l chdir=/tmp creates=kel.conf" SSH password: 192.168.1.60 | success | rc=0 >> total 8 -rw------- 1 root root 29 Jan 19 15:13 kel -rw-r--r-- 1 root root 16 Jan 19 15:13 kel.2016-01-19@15:13~ |
1.2 切换目录创建文件
[root@ansibleserver tmp]# ansible pythonserver -a "touch kel.conf chdir=/tmp" SSH password: 192.168.1.60 | success | rc=0 >> |
在使用ansible中的时候,默认的模块是-m command,从而模块的参数不需要填写,直接使用即可。
1.3 不支持管道符等操作
[root@ansibleserver tmp]# ansible pythonserver -a "cat /tmp/kel.conf >/tmp/111" SSH password: 192.168.1.60 | FAILED | rc=1 >> cat: >/tmp/111: No such file or directory |
2、 shell模块
在远程节点上执行命令。在执行命令的时候使用的是/bin/sh。参数 | 必填 | 默认 | 选择 | 说明 |
Chdir | No | 修改当前目录 | ||
Creates | No | 当文件名已经存在的时候,此步不会执行 | ||
Executable | No | 换用shell执行命令,表示为一个绝对路径 | ||
Free_form | Yes | 需要执行的脚本(没有真正的参数为free_form) | ||
Removes | No | 当文件名称存在的时候,此步不会执行 | ||
Warn | No | True | 如果在ansible.cfg中存在告警,如果设定了no/False,不会警告此行 |
[root@ansibleserver tmp]# ansible pythonserver -m shell -a "sh /tmp/kel.sh >>/tmp/kel.log" SSH password: 192.168.1.60 | success | rc=0 >> |
2.2 换成路径然后执行命令
[root@ansibleserver tmp]# ansible pythonserver -m shell -a "sh /tmp/kel.sh >>kelly.log chdir=/tmp" SSH password: 192.168.1.60 | success | rc=0 >> |
3、脚本执行模块-script
将script传送到远程主机之后,执行。此模块的执行,在远程主机上,不需要python环境参数 | 必填 | 默认 | 选择 | 说明 |
Creates | No | 当文件名已经存在的时候,此步不会执行 | ||
Free_form | Yes | 需要执行的脚本(没有真正的参数为free_form) | ||
Removes | No | 当文件名称存在的时候,此步不会执行 |
[root@ansibleserver tmp]# ansible pythonserver -m script -a "/tmp/kel.sh >/tmp/kelkel.log" SSH password: 192.168.1.60 | success >> { "changed": true, "rc": 0, "stderr": "", "stdout": "" } |
4、 ssh命令执行模块-raw
此模块的执行,在远程主机上,不需要python环境,主要是用来执行脏的ssh命令。参数 | 必填 | 默认 | 选择 | 说明 |
Free_form | Yes | 需要执行的脚本(没有真正的参数为free_form) | ||
Removes | No | 当文件名称存在的时候,此步不会执行 |
raw很多地方和shell和command相似,更多推荐的地方使用的是shell和command模块
相关文章推荐
- osx Application代码实现NSMenu
- python入门 --求一元二次方程的解
- Java源码之Hashtable
- access应用分享
- ansible命令执行模块使用
- 使用epel源安装依赖包时报错
- 根据另外一个表来更新,增加字段
- MongoDB 入门之查询(find)
- java基础知识点梳理3
- shell脚本 接受用户参数技巧一
- iOS无限后台任务
- 即时通讯收发语音,兼容安卓wav和amr格式互转
- 带你从源码的角度理解Volley
- Activity启动模式
- android技巧:apk文件反编译以及签名打包
- 复杂度分析
- JQuery中国省市区无刷新三级联动查询
- Apache 2.4 配置多个虚拟主机的问题
- 邮币卡电子盘简介
- 计算脸部部位在坐标系中的位置