基本语法
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
网友评论