简介

环境:

ansible端:

ip:192.168.100.129

hostname:node1.lansgg.com

client端:

ip:192.168.100.131

hostname:v2.lansgg.com

ip:192.168.100.132

hostname:v3.lansgg.com

[root@node1 ansible]# pwd
/etc/ansible
[root@node1 ansible]# cat hosts
[testservers]
192.168.100.131
192.168.100.132
[root@node1 ansible]#
 

1、命令格式

SYNOPSIS
ansible <host-pattern> [-f forks] [-m module_name] [-a args]
 

模块命令详细信息查询

ansible-doc moduleName
 

如:

[root@node1 ansible]# ansible-doc command
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 distribution.
Homepage: http://www.greenwoodsoftware.com/less
> COMMAND The [command] module takes the command name followed by a list of
space-delimited arguments. The given command will be executed on all
selected nodes. It will not be processed through the shell, so
variables like `$HOME' and operations like `"<"', `">"', `"|"', and
`"&"' will not work (use the [shell] module if you need these
features). Options (= is mandatory): - chdir
cd into this directory before running the command [Default:
None] - creates
a filename, when it already exists, this step will *not* be
run. [Default: None] - executable
change the shell used to execute the command. Should be an
absolute path to the executable. [Default: None] = free_form
the command module takes a free form command to run. There is
no parameter actually named 'free form'. See the examples!
[Default: None] - removes
a filename, when it does not exist, this step will *not* be
run. [Default: None] - warn
if command warnings are on in ansible.cfg, do not warn about
this particular line if set to no/false. [Default: True] Notes: If you want to run a command through the shell (say you are using
`<', `>', `|', etc), you actually want the [shell] module
instead. The [command] module is much more secure as it's not
affected by the user's environment. `creates', `removes', and
`chdir' can be specified after the command. For instance, if
you only want to run a command if a certain file does not
exist, use this. EXAMPLES:
# Example from Ansible Playbooks.
- command: /sbin/shutdown -t now # Run the command if the specified file does not exist.
- command: /usr/bin/make_database.sh arg1 arg2 creates=/path/to/database # You can also use the 'args' form to provide the options. This command
# will change the working directory to somedir/ and will only run when
# /path/to/database doesn't exist.
- command: /usr/bin/make_database.sh arg1 arg2
args:
chdir: somedir/
creates: /path/to/database
 

解释:command为模块名, chdir、create 等此模块特有的参数

2、ansible模块之command

此模块为ansible默认执行的模块,也是常用模块之一

示例: 查看远程主机的passwd最后两行

[root@node1 ansible]# ansible testservers -m command -a 'tail -2 /etc/passwd'
192.168.100.131 | success | rc=0 >>
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin 192.168.100.132 | success | rc=0 >>
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
 

使用参数,修改当然工作目录

[root@node1 ansible]# ansible testservers -m command -a 'pwd'
192.168.100.132 | success | rc=0 >>
/root 192.168.100.131 | success | rc=0 >>
/root [root@node1 ansible]# ansible testservers -m command -a 'chdir=/tmp/ pwd'
192.168.100.131 | success | rc=0 >>
/tmp 192.168.100.132 | success | rc=0 >>
/tmp
 

区别和使用场景

command模块 [执行远程命令]

[root@node1 ansible]# ansible testservers -m command -a 'uname -n'
 

script模块 [在远程主机执行主控端的shell/python脚本 ]  (使用相对路径)

[root@node1 ansible]# ansible testservers -m script -a '/etc/ansible/test.sh
 

shell模块 [执行远程主机的shell/python脚本]

[root@node1 ansible]# ansible testservers -m shell -a 'bash /root/test.sh'
 

raw模块 [类似于command模块、支持管道传递]

[root@node1 ansible]# ansible testservers -m raw -a "ifconfig eth0 |sed -n 2p |awk '{print \$2}' |awk -F: '{print \$2}'"
 

最新文章

  1. 页面位置 top、postop、scrolltop、offsetTop、scrollHeight、offsetHeight、clientHe
  2. 图说hibernate注释--java里配置参数(一.1)
  3. SQLServer(MSSQL)、MySQL、SQLite、Access相互迁移转换工具 DB2DB v1.2
  4. 转: 什么是REST?
  5. 华为HG255D路由器使用OH3C进行中大校园网认证
  6. 最常用的DOS命令
  7. python 代码片段8
  8. java中的xml与实体类之间的映射
  9. Need to add a caption to a jpg, python can&#39;t find the image
  10. vmware workstation 网络管理
  11. hdu 5755 Gambler Bo 高斯消元
  12. Hive实现oracle的Minus函数
  13. Handlebars模板引擎渲染页面
  14. eclipse hadoop1.2.0配置及wordcount运行
  15. OpenCV——PS 滤镜, 浮雕效果
  16. [ gczdac ] HDU1000
  17. Spring Boot 之发送邮件
  18. 游戏引擎架构 && windows 核心编程
  19. 第三方登录:QQ登录实现(OAuth2.0)
  20. RedHat 将应用程序添加到 Gnome 菜单中

热门文章

  1. Nginx 核心配置-单节点实现多域名访问
  2. 大众点评评论数据抓取 反爬虫措施有css文字映射和字体库反爬虫
  3. 百度快排发包python核心源码
  4. ActiveMQ消息可靠性-持久性
  5. 小学四则运算口算练习app---No.7
  6. 复制excel表中的数据
  7. java添加新表,接口合成流程必看
  8. Pandas | 01 数据结构
  9. Windbg Watch(监视)窗口的使用
  10. GIL全局解释锁