×

Ansible Ad-Hoc Commands 介绍

96
Anoyi
2018.03.13 09:51* 字数 90

基本语法

ansible <pattern_goes_here> -m <module_name> -a <arguments>
  • <pattern_goes_here> 指定host信息
  • <module_name> 指定模块
  • <arguments> 指定参数

常用示例

1、并行执行

# 重启 atlanta 组的机器,并发分支 10
ansible atlanta -a "/sbin/reboot" -f 10

2、Shell 命令

# 在  172.25.99.101 输出 hello
ansible 172.25.99.101 -m shell -a 'echo hello'

3、文件传输

# 将当前服务器的 /srv/foo/a.txt 文件传输到 webservers 组
ansible webservers -m file -a "dest=/srv/foo/a.txt mode=600"

4、软件包管理

# 在 webservers 组安装最新版 acme
ansible webservers -m yum -a "name=acme state=latest"

5、Users 和 Groups 管理

# 创建用户 foo
ansible all -m user -a "name=foo password=<crypted password here>"

6、从源代码管理部署

ansible webservers -m git -a "repo=https://foo.example.org/repo.git dest=/srv/myapp version=HEAD"

7、服务管理

# 确保在 webservers 组启动 httpd 服务
ansible webservers -m service -a "name=httpd state=started"

8、时间有限的后台操作

# 在后台异步执行 long_running_operation,超时时间为3600秒(-B),没有轮询(-P)
ansible all -B 3600 -P 0 -a "/usr/bin/long_running_operation --do-stuff

参考文档

Ad-Hoc Commands
Module Index

DevOps
Web note ad 1