ansible中文手册-基础模块使用
2016-01-15 20:04
489 查看
此篇文章主要是翻译ansible官网文档而来,在里面讲述了如何使用ansible的基础模块,总体感觉比较晦涩,但是后面会写出自己相关实践的文档,从而更加通俗易懂,官网的东西拿来当手册偶尔翻翻也是很不错的,具体内容如下:
当使用密码的时候,可以使用选项—ask-pass(-k),此种方式比ssh-agent好很多
重启Atlanta组主机在10秒内,如下:
在默认情况下,ansible使用的是当前用户,当你需要使用其他用户的时候,可以使用选项-uusername,如下:
当需要使用sudo的时候,可以使用如下:
--ask-sudo-pass(-K)此选项是用来询问sudo的密码,如果设置了,如果未设置,那么无需使用
也可以在sudo到别的用户来进行执行,如下:
参数-f10表示并发进行,也就是10个进程同时运行,在使用的时候,默认的情况下为5,选择合适的数据,从而使得系统能够进行处理
参数-m表示选择的模块,在默认情况下,command是默认的模块
Command不适用于有shell变量的情况,也不适用于有管道符的情况,如果要使用此种情况,那么可以使用shell模块
使用shell模块,如下:
传输文件到很多主机,如下:
File模块运行修改用户和用户组权限,相同的选项表示传送文件,如下:
File模块也可以创建目录,相当于命令mkdir–p,如下:
也可以用来删除文件或者是递归的删除目录,如下:
确定一个包已经安装,但是不更新,如下:
确定一个包安装的是指定版本,如下:
确定一个包是最新包:
确定一个包未安装,如下:
重启一个服务:
确定一个服务是停止的:
如果要检查服务的状态,可以使用模块async_status,传递jobid,如下:
轮训是内建的,如下:
参数-B表示运行最多30分钟,30*60,-P60轮训其状态每60S,
当时间运行在-B参数后的时间之后,此服务会被停止运行。
可以使用参数—forksvalue,来确保服务尽快运行
下面为个人微信公众号~~
1、并行和shell命令
设置ssh-agent记住认证$ssh-agentbash $ssh-add~/.ssh/id_rsa |
重启Atlanta组主机在10秒内,如下:
$ansibleatlanta-a"/sbin/reboot"-f10 |
$ansibleatlanta-a"/usr/bin/foo"-uusername |
$ansibleatlanta-a"/usr/bin/foo"-uusername--sudo[--ask-sudo-pass] |
也可以在sudo到别的用户来进行执行,如下:
$ansibleatlanta-a"/usr/bin/foo"-uusername-Uotheruser[--ask-sudo-pass] |
参数-m表示选择的模块,在默认情况下,command是默认的模块
Command不适用于有shell变量的情况,也不适用于有管道符的情况,如果要使用此种情况,那么可以使用shell模块
使用shell模块,如下:
$ansibleraleigh-mshell-a'echo$TERM' |
2、文件传输
Ansible可以并行scp很多文件到很多机器上。传输文件到很多主机,如下:
$ansibleatlanta-mcopy-a"src=/etc/hostsdest=/tmp/hosts" |
$ansiblewebservers-mfile-a"dest=/srv/foo/a.txtmode=600" $ansiblewebservers-mfile-a"dest=/srv/foo/b.txtmode=600owner=mdehaangroup=mdehaan" |
$ansiblewebservers-mfile-a"dest=/path/to/cmode=755owner=mdehaangroup=mdehaanstate=directory" |
$ansiblewebservers-mfile-a"dest=/path/to/cstate=absent" |
3、管理包
管理包主要是用来管理YUM。确定一个包已经安装,但是不更新,如下:
$ansiblewebservers-myum-a"name=acmestate=present" |
$ansiblewebservers-myum-a"name=acme-1.5state=present" |
$ansiblewebservers-myum-a"name=acmestate=latest" |
$ansiblewebservers-myum-a"name=acmestate=absent" |
4、用户和用户组
User模块可以轻易的创建用户和管理已经存在的用户和组,如下:$ansibleall-muser-a"name=foopassword=<cryptedpasswordhere>" $ansibleall-muser-a"name=foostate=absent" |
5、服务管理
确定一个服务正在运行:$ansiblewebservers-mservice-a"name=httpdstate=started" |
$ansiblewebservers-mservice-a"name=httpdstate=restarted" |
$ansiblewebservers-mservice-a"name=httpdstate=stopped" |
6、限制后台运行时间
后台运行总是耗费比较长的时间,从而其状态在随后总是能够查看的,如果踢掉主机,又不想轮训,如下:$ansibleall-B3600-P0-a"/usr/bin/long_running_operation--do-stuff" |
$ansibleweb1.example.com-masync_status-a"jid=488359678239.2844" |
$ansibleall-B1800-P60-a"/usr/bin/long_running_operation--do-stuff" |
当时间运行在-B参数后的时间之后,此服务会被停止运行。
可以使用参数—forksvalue,来确保服务尽快运行
7、收集信息
可以查看相关的信息,用于过滤等,如下:$ansibleall-msetup |
相关文章推荐
- Codeforces Round 610
- C语言 calloc, malloc, realloc ,alloca以及 free的用法
- ansible中文手册-基础模块使用
- 数据预处理之独热编码(One-Hot Encoding)
- Dissecting Message Queues(不同消息中间件Throughput和latency
- HDU5536 Chip Factory(字典树)
- 关于session
- Java源码之HashMap
- SPOJ QTREE 树链剖分
- 【转载】最近在用Arrays的asList()生成的List时,List元素的个数时而不正确,数组转化为List,即Arrays.asList(intArray);
- lintcode :longest common substring 最长公共子串
- [POJ 2010]Moo University - Financial Aid[优先队列]
- B. Drazil and His Happy Friends
- POJ 1611 The Suspects
- canvas--绘制路径
- LightOJ1348 树链剖分
- Max-heap && Min-heap && push_heap
- FZU2082树链剖分
- leetcode--Search a 2D Matrix
- ssh能够连接而sftp不能连接的解决方法