ansible-hoc命令行
ansible一种开源的自动化工具
ansible:
	hoc命令行:
		是一款开源的自动化运维工具
		python
			paramiko   	#模拟ssh协议批量管理主机
			jinja2		#模板语言,主要用来传递变量
			yaml		#相当于是一种编程语言
		控制方式:
			1.	免密钥:key-gen
				参数形式:ansible_ssh_user=root; ansible_ssh_pass=root ansible_ssh_port=22
			2.	host inventory:记录着客户端的ip信息
		调用ansible的三种模式:
			hoc:命令行
			playbooks:剧本|脚本
			roles:角色
		安装ansible:
			yum install epel-release
			yum install ansible -y
		配置
			[root@master ~]# vim /etc/ansible/hosts 
				[testhosts]
				192.168.254.10 ansible_ssh_user=root ansible_ssh_pass=root ansible_ssh_port=22
				192.168.254.12 ansible_ssh_user=root ansible_ssh_pass=root ansible_ssh_port=22
		ansible默认并发数:5台(最高255)
			ansible -f 					#控制并发数
				线程是最小的调度单位
				进程是最小的管理单元
			ansible-doc -l				#查看所支持的模块													
			ansible-doc -s MODEL_NAME	#模块的具体用法和参数
			ansible all --list-hosts    #查看所有主机
		
		ansible配置文件:(/etc/ansible/ansible.cfg)
				
			#inventory      = /etc/ansible/hosts				主机管理资产清单
			#library        = /usr/share/my_modules/			ansible操作的动作,无论是本地或者远程,都使用一小段代码来执行,这小段代码称之为模块,这个library就是用来存放这些模块的路径
			#module_utils   = /usr/share/my_module_utils/		
			#remote_tmp     = ~/.ansible/tmp
			#local_tmp      = ~/.ansible/tmp
			#forks          = 5									ansible默认操作主机的并发数
			#poll_interval  = 15								
			#sudo_user      = root								这是默认的执行命令的用户,也可以在playbook中重新设置这个参数
			#ask_sudo_pass = True								用来控制Ansible playbook 在执行sudo之前是否询问sudo密码.默认为no
			#ask_pass      = True								Ansible 剧本playbook 是否会自动默认弹出弹出密码.默认为no
			#transport      = smart
			#remote_port    = 22								这个指定连接被管理节点的端口,默认是22,除非设置了特殊的ssh端口
			#module_lang    = C									默认模块和系统之间通信的计算机语言,默认为’C’语言
			#module_set_locale = False			
			#host_key_checking = False							这是设置是否检查ssh秘钥,可以设置为False和True
			#timeout = 10										ssh连接超时时间
			#log_path = /var/log/ansible.log					ansible默认是不记录日志的,如果想把ansible系统输出的日志存放到文件中可以开启这个选项
			#private_key_file = /path/to/file					使用ssh公钥私钥登录系统的时候,使用的秘钥路径
			
			
			还有更多的配置项,大家可以参考官方文档,如下:		http://docs.ansible.com/ansible/latest/intro_configuration.html#private-key-file
常用模块:
			ping:指定ansible server跟client的连通性
				ansible testhosts -m ping
			setup: 收集远程主机的facts
				每个被管理的节点在接受并运行管理命令之前,会将自己主机相关信息,如操作系统版本,ip地址等报告给远程ansible主机	
				#ansible 192.168.254.10 -m setup
			command:命令模块,默认模块,用于在远程执行命令:
				ansible all -a 'date'
			cron:
				state:
					prsent:安装
					absent:移除
				#ansible testhosts -m cron -a "minute=*/10 job='echo hello' state=present name=test_cron"
			user:
				name=:指明创建的用户的名字
				#ansible testhosts -m user -a 'name=user1 uid=250 group=group250'
			group:
				#ansible testhosts -m group -a 'name=group250 gid=250'
			
			copy:
				src=:定义本地源文件路径
				dest=:定义远程目标文件路径
				#ansible testhosts -m copy -a 'src=/root/a.txt dest=/root/a.txt'
				content=:取代src,表示直接用此处指定的信息生成为目标的内容
				#ansible testhosts -m copy -a 'content=nihao dest=/root/a.txt'
			service:指定运行状态
				name=:服务名称
				state=:状态,取值有started,stopped,restarted
			ansible tests -m service -a 'name=httpd state=restarted'	
			shell:在远程主机上运行命令
				尤其是在用到管道等功能的复杂命令
				ansible tests -m shell -a 'cat /etc/passwd|grep user'
			script: 将本地脚本复制到远程主机并运行
				ansible testhosts -m script -a '/root/a.sh'
			yum:安装程序包
				ansible testhosts -m yum -a 'name=tree state=latest' 
				name=:指定要安装的程序包,可以带上版本号
				state=:present,latest表示安装,absent表示卸载
ansible-hoc命令行的更多相关文章
- Linux中级之ansible概念及hoc命令行调用模式
		
一.Ansible简介 ansible是新出现的开源的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统 ...
 - openstack命令行
		
openstack的每一个子项目(project)都有自己对应的命令行API,所有的这些API都是基于RESTful的,python代码实现的API.也就是说,这些API都是基于HTTP实现的,所以A ...
 - ansible基础命令实例
		
参考:https://www.cnblogs.com/ilurker/p/6421624.html 1. 使用自定义的hosts 格式: ansible 组机匹配 -i 自定义的hosts - ...
 - Ansible Ad-Hoc命令(三)
		
一.Ad-Hoc 介绍 1.了解下什么是Ad-Hoc ? Ad-Hoc 其实就是基于Ansible 运行的命令集,有些类似终端中敲入的shell命令,Ansible提供了两种运行完成任务的方式,一种是 ...
 - 黑客技术 —— Linux 命令行
		
很多和正则表达式 re 是一致的: 1. 修改上次执行的命令 删除多余部分: % grep fooo /var/log/auth.log % ^o % grep foo /var/log/auth.l ...
 - 数据仓库之抽取数据:通过bcp命令行导入数据
		
原文:数据仓库之抽取数据:通过bcp命令行导入数据 在做数据仓库时,最重要的就是ETL的开发,而在ETL开发中的第一步,就是要从原OLTP系统中抽取数据到过渡区中,再对这个过渡区中的数据进行转换,最后 ...
 - 大话Ansible Ad-Hoc命令
		
Ansible是一个系列文章,我会尽量以通俗易懂.诙谐幽默的总结方式给大家呈现这些枯燥的知识点,让学习变的有趣一些. Ansible系列博文直达链接:Ansible入门系列 前言 通过前面的文章,大家 ...
 - Cmder--Windows下命令行利器
		
cmder cmder是一个增强型命令行工具,不仅可以使用windows下的所有命令,更爽的是可以使用linux的命令,shell命令. 安装包 安装包链接 下载后,直接解压即用. 修改命令提示符λ为 ...
 - .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门
		
2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...
 
随机推荐
- 科普-- 白话HTTPS
			
HTTPS是传输协议吗? HTTPS与HTTP有什么关系? HTTPS为什么会安全? 闲扯一下 Mac笔记本.Windows台式机.Linux主机.像这三种类型,它们硬件不同,系统不同,服务端处理的编 ...
 - 【Processing-日常4】等待动画2
			
之前在CSDN上发表过: https://blog.csdn.net/fddxsyf123/article/details/79781034
 - 对之前IoT项目的完善
			
博文有点长,因为是两个大项目(四个小项目)放一起了,不过都很适合新手小白(有源程序的情况),也可以再接 OLED 屏,就是前几篇博客的操作 一.esp8266 读取 DHT11 数据并通过微信小程序发 ...
 - SON Web Tokens 工具类 [ JwtUtil ]
			
pom.xml <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt< ...
 - 024 01 Android 零基础入门  01 Java基础语法 03 Java运算符 04 关系运算符
			
024 01 Android 零基础入门 01 Java基础语法 03 Java运算符 04 关系运算符 本文知识点:Java中的关系运算符 关系运算符
 - windows10 热点一直显示正在断开中
			
解决方法: Windows+x,打开"windows Powershell(管理员),执行以下命令:netsh winsock reset 重启电脑,就OK了
 - kail使用sunJDK
			
今天在安装软件的时候报错,提示应使用oracle的JDK,所以鼓捣了一会发现个简单的方法 1.下载安装包解压文件到opttar -xzvf jdk-8u91-linux-x64.tar.gz 2.设置 ...
 - JavaScript封装函数:获取下一个/上一个兄弟元素节点
			
要求: 获得下一个/上一个兄弟元素节点,不包括文本节点等 解决IE兼容性问题 代码实现: 获得下一个兄弟元素节点: function getNextElement(element) { var el ...
 - Word云(标签云)生成器控件。net Windows。形式在c#中
			
下载demo - 37.1 KB 下载source code - 48.7 KB 背景 这种控制方式的灵感来自于一种名为Wordle的基于网络的免费单词云生成器.实际上,这个控件是我的项目http:/ ...
 - Docker镜像仓库Harbor部署
			
一.Harbor组件 组件 功能 harbor-adminserver 配置管理中心 harbor-db Mysql数据库 harbor-jobservice 负责镜像复制 harbor-log 记录 ...