Ansible命令用法详解(4)

概述:Ansible命令行执行方式有Ad-Hoc、Ansible-playbook两种方式,web化执行方式其官方提供了付费产品Tower(10台以内免费),个人的话可以基于其提供的API开发类似的web化产品(可以看出会一门开发语言是多么的重要,学好python吧)。两种执行方式没有本质上的区别,Ad-Hoc主要用于临时命令的执行,Ansible-playbook可以理解Ad-Hoc的集合,通过一定的规则编排在一起。两者的操作也及其简单,且提供了如with_items、failed_when、changed_when、until、ignore_errors等丰富的逻辑条件和Dry-run的Check Mode。但在Check Mode下并不真正执行命令,即将执行的操作不会对服务器端(被控端)产生任何影响,只模拟命令的执行过程是否能正常执行。

ansible的命令格式如下:

ansible [options]
是Inventory中定义的主机或主机组,可以为IP、hostname、Inventory中的gorup组名、具有"."或"*"或":"等特殊字符的匹配型字符串,<>表示该选项是必须项,不可省略。
[options]是ansible的参数选项,[]表示该选项中的参数任选其一。
ansible命令可用选项非常多,这里列举如下会用到的选项。

  • -m NAME, --module-name=NAME: 指定执行使用的模块。
  • -u USERNAME, --user=USERNAEM: 指定远程主机以USERNAME运行命令。
    -s, --sudo: 相当于Linux系统下的sudo命令
    -U SUDO_USERNAEM, --sudo-user=SUDO_USERNAME: 使用sudo,相当于Linux下的sudo命令

//以bruce用户执行ping存活检测
ansible all -m ping -u bruce
//以bruce sudo至root执行ping存活检测
ansible all -m ping -u bruce --sudo
//以bruce sudo 至batman用户执行ping存活检测
ansible all -m ping -u bruce --sudo --sudo-user batman

但是在新版本中ansible的sudo命令被废弃,改为--become或-b,如上命令需改为如下:
//以bruce sudo至root执行ping存活检测
ansible all -m ping -u bruce -b
//以bruce sudo 至batman用户执行ping存活检测
ansible all -m ping -u bruce -b --become-user batman

你可能感兴趣的:(Ansible命令用法详解(4))