此篇文章主要是翻译ansible官网文档而来,在里面讲述了如何使用ansible的基础模块,总体感觉比较晦涩,但是后面会写出自己相关实践的文档,从而更加通俗易懂,官网的东西拿来当手册偶尔翻翻也是很不错的,具体内容如下:

1、    并行和shell命令

设置ssh-agent记住认证

$ ssh-agent bash

$ ssh-add ~/.ssh/id_rsa

当使用密码的时候,可以使用选项—ask-pass(-k),此种方式比ssh-agent好很多

重启Atlanta组主机在10秒内,如下:

$ ansible atlanta -a "/sbin/reboot" -f 10

在默认情况下,ansible使用的是当前用户,当你需要使用其他用户的时候,可以使用选项-u username,如下:

$ ansible atlanta -a "/usr/bin/foo" -u username

当需要使用sudo的时候,可以使用如下:

$ ansible atlanta -a "/usr/bin/foo" -u username --sudo[--ask-sudo-pass]

--ask-sudo-pass(-K)此选项是用来询问sudo的密码,如果设置了,如果未设置,那么无需使用

也可以在sudo到别的用户来进行执行,如下:

$ ansible atlanta -a "/usr/bin/foo" -u username -U otheruser[--ask-sudo-pass]

参数-f 10表示并发进行,也就是10个进程同时运行,在使用的时候,默认的情况下为5,选择合适的数据,从而使得系统能够进行处理

参数-m表示选择的模块,在默认情况下,command是默认的模块

Command不适用于有shell变量的情况,也不适用于有管道符的情况,如果要使用此种情况,那么可以使用shell模块

使用shell模块,如下:

$ ansible raleigh -m shell -a 'echo $TERM'

2、    文件传输

Ansible可以并行scp很多文件到很多机器上。

传输文件到很多主机,如下:

$ ansibleatlanta -m copy -a "src=/etc/hosts dest=/tmp/hosts"

File模块运行修改用户和用户组权限,相同的选项表示传送文件,如下:

$ ansible webservers -m file -a "dest=/srv/foo/a.txt mode=600"
$ ansible webservers -m file -a "dest=/srv/foo/b.txt mode=600 owner=mdehaan group=mdehaan"

File模块也可以创建目录,相当于命令mkdir–p,如下:

$ ansible webservers -m file -a "dest=/path/to/c mode=755 owner=mdehaan group=mdehaan state=directory"

也可以用来删除文件或者是递归的删除目录,如下:

$ ansible webservers -m file -a "dest=/path/to/c state=absent"

3、    管理包

管理包主要是用来管理YUM。

确定一个包已经安装,但是不更新,如下:

$ ansible webservers -m yum -a "name=acme state=present"

确定一个包安装的是指定版本,如下:

$ ansible webservers -m yum -a "name=acme-1.5 state=present"

确定一个包是最新包:

$ ansible webservers -m yum -a "name=acme state=latest"

确定一个包未安装,如下:

$ ansible webservers -m yum -a "name=acme state=absent"

4、    用户和用户组

User模块可以轻易的创建用户和管理已经存在的用户和组,如下:

$ ansible all -m user -a "name=foo password=<crypted password here>"
 
$ ansible all -m user -a "name=foo state=absent"

5、    服务管理

确定一个服务正在运行:

$ ansible webservers -m service -a "name=httpd state=started"

重启一个服务:

$ ansible webservers -m service -a "name=httpd state=restarted"

确定一个服务是停止的:

$ ansible webservers -m service -a "name=httpd state=stopped"

6、    限制后台运行时间

后台运行总是耗费比较长的时间,从而其状态在随后总是能够查看的,如果踢掉主机,又不想轮训,如下:

$ ansible all -B 3600 -P 0 -a "/usr/bin/long_running_operation --do-stuff"

如果要检查服务的状态,可以使用模块async_status,传递job id,如下:

$ ansible web1.example.com -m async_status -a "jid=488359678239.2844"

轮训是内建的,如下:

$ ansible all -B 1800 -P 60 -a "/usr/bin/long_running_operation --do-stuff"

参数-B表示运行最多30分钟,30*60,-P 60 轮训其状态每60S,

当时间运行在-B参数后的时间之后,此服务会被停止运行。

可以使用参数—forksvalue,来确保服务尽快运行

7、    收集信息

可以查看相关的信息,用于过滤等,如下:

$ ansible all -m setup

下面为个人微信公众号~~

ansible中文手册-基础模块使用的更多相关文章

  1. CSS3中文手册基础知识

    CSS3手册是学习CSS3的最佳文档,不管是自己写博客,还是买书,手册少不了.今天我给大家介绍一些CSS3有哪些分类及其使用. 具体参考:http://caibaojian.com/css3/ 上来进 ...

  2. (转)Sqoop中文手册

    Sqoop中文手册 1.     概述 本文档主要对SQOOP的使用进行了说明,参考内容主要来自于Cloudera SQOOP的官方文档.为了用中文更清楚明白地描述各参数的使用含义,本文档几乎所有参数 ...

  3. Ansible简介及常用模块

    一.基础介绍 1.简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置. ...

  4. 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数·简明中文手册 总览

    <zw版·Halcon-delphi系列原创教程> Halcon分类函数·简明中文手册 总览 Halcon函数库非常庞大,光HALCONXLib_TLB.pas文件,源码就要7w多行,但核 ...

  5. phpredis中文手册——《redis中文手册》 php版

    本文是参考<redis中文手册>,将示例代码用php来实现,注意php-redis与redis_cli的区别(主要是返回值类型和参数用法). 目录(使用CTRL+F快速查找命令): Key ...

  6. Swift中文手册 -- The Basics

    原文:Swift中文手册 -- The Basics 基础部分 Swift 是 iOS 和 OS X 应用开发的一门新语言.然而,如果你有 C 或者 Objective-C 开发经验的话,你会发现 S ...

  7. 【C++ 中文手册】即将完成

    [C++ 中文手册]即将完成 内容包含C++11,历时一年,日夜赶工,即将完成! 该参考手册主要由以下四部份内容组成: C++ 语言 C++ 继承了 C 语言 的大部分语法,并在其基础上修改或增加部分 ...

  8. man rsync翻译(rsync命令中文手册)

    本文为命令rsync的man文档翻译,几乎所有的选项都翻译了,另外关于筛选规则部分只翻译了一部分.由于原文很多地方都比较啰嗦,所以译文中有些内容可能容易让国人疑惑,所以我个人在某些地方加上了注释.若有 ...

  9. ansible命令应用基础

    ansible命令应用基础:    Usage: ansible <host-pattern> [-f forks] [-m module_name][-a args]        -f ...

随机推荐

  1. 解决NetworkOnMainThreadException

    今天在Android 访问 WebService 的时候遇到,错误Caused by: android.os.NetworkOnMainThreadException,查了下原因上在4.0之后在主线程 ...

  2. 一个n位的数,去掉其中的k位,问怎样去使得留下来的(n-k)位数按原来的前后顺序组成的数最小

    例如 8314925去掉4个数,留下125最小,注意有前后顺序要求,要是没有顺序当然是123. 解决方案 贪心算法,在每次被访问的位置保证有最优解. 思路一 分析:求一共n位,求其中的m位组成的数最小 ...

  3. tomcat报警告 An attempt was made to authenticate the locked user

    有好多这样的警报怪怪的,一分钟抛一次,大概抛了10分钟,停止 有 Anattempt was made to authenticate the locked user "root" ...

  4. Maven+Spring+Hibernate+Shiro+Mysql简单的demo框架(二)

    然后是项目下的文件:完整的项目请看  上一篇 Maven+Spring+Hibernate+Shiro+Mysql简单的demo框架(一) 项目下的springmvc-servlet.xml配置文件: ...

  5. Java —— 时区(夏令时)问题

    有没有遇到过这样的情况:数据库里的是时间是“1991-4-14”,但是Java取出来后就成了“1991-4-13”. 解决方法一: 先把时区设成GMT,把 根据夏时制自动调节时钟 的选项去掉. 再把时 ...

  6. 怎样在Ubuntu系统安装可用的QQ

    http://jingyan.baidu.com/article/9f63fb91d1f6bbc8400f0e1c.html

  7. MTK Android 编译命令

    一.Target 编译命令 usage: (makeMtk|mk) [options] project actions [moudles] options:       -t,-tcc         ...

  8. HDU 4664 Triangulation(SG函数)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4664 题意:给出一个n个点的凸包(不存在三点共线).每次可以选择两个点连线,但是任意两条线只能在顶点处 ...

  9. C#高级编程(第9版) -C#5.0&.Net4.5.1 书上的示例代码下载链接

    http://www.wrox.com/WileyCDA/WroxTitle/Professional-C-5-0-and-NET-4-5-1.productCd-1118833031,descCd- ...

  10. CSS3与页面布局学习总结(三)——BFC、定位、浮动、垂直居中

    一.BFC与IFC 1.1.BFC与IFC概要 BFC(Block Formatting Context)即“块级格式化上下文”, IFC(Inline Formatting Context)即行内格 ...