ansible中文手册-基础模块使用
此篇文章主要是翻译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中文手册-基础模块使用的更多相关文章
- CSS3中文手册基础知识
CSS3手册是学习CSS3的最佳文档,不管是自己写博客,还是买书,手册少不了.今天我给大家介绍一些CSS3有哪些分类及其使用. 具体参考:http://caibaojian.com/css3/ 上来进 ...
- (转)Sqoop中文手册
Sqoop中文手册 1. 概述 本文档主要对SQOOP的使用进行了说明,参考内容主要来自于Cloudera SQOOP的官方文档.为了用中文更清楚明白地描述各参数的使用含义,本文档几乎所有参数 ...
- Ansible简介及常用模块
一.基础介绍 1.简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置. ...
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数·简明中文手册 总览
<zw版·Halcon-delphi系列原创教程> Halcon分类函数·简明中文手册 总览 Halcon函数库非常庞大,光HALCONXLib_TLB.pas文件,源码就要7w多行,但核 ...
- phpredis中文手册——《redis中文手册》 php版
本文是参考<redis中文手册>,将示例代码用php来实现,注意php-redis与redis_cli的区别(主要是返回值类型和参数用法). 目录(使用CTRL+F快速查找命令): Key ...
- Swift中文手册 -- The Basics
原文:Swift中文手册 -- The Basics 基础部分 Swift 是 iOS 和 OS X 应用开发的一门新语言.然而,如果你有 C 或者 Objective-C 开发经验的话,你会发现 S ...
- 【C++ 中文手册】即将完成
[C++ 中文手册]即将完成 内容包含C++11,历时一年,日夜赶工,即将完成! 该参考手册主要由以下四部份内容组成: C++ 语言 C++ 继承了 C 语言 的大部分语法,并在其基础上修改或增加部分 ...
- man rsync翻译(rsync命令中文手册)
本文为命令rsync的man文档翻译,几乎所有的选项都翻译了,另外关于筛选规则部分只翻译了一部分.由于原文很多地方都比较啰嗦,所以译文中有些内容可能容易让国人疑惑,所以我个人在某些地方加上了注释.若有 ...
- ansible命令应用基础
ansible命令应用基础: Usage: ansible <host-pattern> [-f forks] [-m module_name][-a args] -f ...
随机推荐
- jquery ajax json简单的分页,模拟数据,没有封装,只显示原理
简单的分页,模拟数据,没有封装,显示原理,大家有兴趣可以自己封装,这里只是个原理过程,真正的分页也差不多是这个原理,只是请求数据不太一样,html部分: <!TOCTYPE HTML> & ...
- 深入理解Java内存模型(三)——顺序一致性
数据竞争与顺序一致性保证 当程序未正确同步时,就会存在数据竞争.java内存模型规范对数据竞争的定义如下: 在一个线程中写一个变量, 在另一个线程读同一个变量, 而且写和读没有通过同步来排序. 当代码 ...
- 文件夹工具类 - FolderUtils
文件夹工具类,提供创建完整路径的方法. 源码如下:(点击下载 -FolderUtils.java .commons-io-2.4.jar ) import java.io.File; import o ...
- Mtk Android 打包解包*.img
打包/解包 boot.img, system.img, userdata.img, or recovery.img [DESCRIPTION] MTK codebase编译出来的image必须使用MT ...
- boot.img的分析
1 boot.img boot.img是由文件头信息,内核数据以及文件系统数据组成,它们之间非页面对齐部分用0填充 文件头信息的具体结构可以在system/core/mkbootimg/bootim ...
- 【HDOJ】1362 The Bermuda Triangle
1. 题目描述给定几个三角形拼成一个百慕大三角形. 2. 基本思路基本思路肯定是搜索,关键点是剪枝.(1) 若存在长度为$l$的边,则一定可以拼成长度为$k \cdot l$的三角形,则可拼成长度为$ ...
- php安装了扩展提示undefined
安装curl扩展后仍然提示如下错误: Call to undefined function curl_init() 使用一下语句 输出NO echo function_exists('curl_ini ...
- VMware虚拟机中的常用文件介绍
虚拟机的文件管理由VMware Workstation来执行.一个虚拟机一般以一系列文件的形式储存在宿主机中,这些文件一般在由workstation为虚拟机所创建的那个目录中. 如下图所示:(< ...
- POJ 2114 - Boatherds
原题地址:http://poj.org/problem?id=2114 题目大意: 给定一棵点数为\(n~(n \le 10000)\)的无根树,路径上有权值,给出m组询问($m \le 100$), ...
- UVa 11019 (AC自动机 二维模式串匹配) Matrix Matcher
就向书上说得那样,如果模式串P的第i行出现在文本串T的第r行第c列,则cnt[r-i][c]++; 还有个很棘手的问题就是模式串中可能会有相同的串,所以用repr[i]来记录第i个模式串P[i]第一次 ...