Ansible_基础模块
特点:无主从,即装即用,基于ssh
安装ansible
yum install epel-release -y
yum install ansible -y
定义主机清单
vim /etc/ansible/hosts
基础使用方式
# ansible命令格式
ansible 主机清单中IP或分组名称 -m 模块 -a "参数"
# 列出主机清单
ansible 主机清单中IP或分组名称 --list
# 查看详细帮助
ansible 模块名
# 查看简短帮助
ansible -s 模块名
常用模块
1.command
ansible 192.168.18.129 -m command -a "ifconfig"
#-m command是默认的可以省略
#例如:
ansible 主机清单中IP或分组名称 -a uptime
2.shell
带管道符,变量的命令用-m shell这个模块
3.script
使用本地管理主机的脚本文件用 -m script这个模块
4.copy
将本地文件拷贝到目标主机中
# 以下举例中all指所有主机
# mode表示权限,owner表示拥有者,backup是否备份
ansible all -m copy -a 'src=*** dest=***** mode=000 owner=somebody backup=yes'
# content类似于[echo>>],将内容附加进去,且支持换行符[\n]
ansible all -m copy -a 'content="hello\nthanks\n" dest=****'
5.fetch
从被控端取文件至ansible端,与copy相反,目录可先tar
# 这里不支持多文件抓取,无法使用*通配
ansible all -fetch -a 'src=被控端文件路径 dest=ansible端文件路径'
# 但是可以将要抓取的先打包成一个文件,其实是有打包的模块的
ansible all -m shell -a 'tar jcf log.tar.xz /var/log/*.log'
ansible all -m fetch -a 'src=/root/log.tar.xz dest=ansible端文件路径'
6.file
文件操作
# name后是被控端文件路径,stata指的是操作状态
# touch:生成 absent:删除 directory:创建文件夹 link:创建软连接
ansible all -m file -a 'name=*** state=touch'
7.hostname
修改主机名
# 这一步是立即生效和保存的
ansible 主机名 -m hostname -a 'name=***'
8.cron
创建计划任务
# 设置计划任务
ansible all -m cron -a 'miunte=* weekday=1,3,5 job="想要执行的命令" name=自定义'
# 取消计划任务,job的参数必须写,name的参数最好写上
ansible all -m cron -a 'disabled=true job="想要执行的命令" name=自定义'
# 想要重新开启这个计划任务直接将disabled的参数改成false即可
ansible all -m cron -a 'disabled=false job="想要执行的命令" name=自定义'
# yes或者no也是可以的!
ansible all -m cron -a 'disabled=yes job="想要执行的命令" name=自定义'
ansible all -m cron -a 'disabled=no job="想要执行的命令" name=自定义'
# 要删除此计划任务要用state=absent
ansible all -m cron -a 'job="想要执行的命令" name=自定义 state=absent'
9.yum
包管理工具
# 指定名称安装,安装多个用逗号隔开
ansible all -m yum -a 'name=***,&&,%%%'
# 卸载,老规矩absent
ansible all -m yum -a 'name=***,&&,%% state=absent'
# 列出已经安装的
ansible all -m yum -a 'list=installed'
# 使用rpm包安装
# 先将rpm推送到主机
ansible [目标主机] -m copy -a 'src=源地址 dest=目的地址'
# 执行rpm包安装,忽略key的检查加上disable_gpg_check=yes
ansible [目标主机] -m yum -a 'name=rpm包的路径'
# 更新yum的缓存,需指定包名
ansible all -m yum -a 'name=*** update_cache=yes'
10.service
服务管理
# 开启、enable:是否开机自弃
ansible all -m service -a 'name=*** state=started enable=yes'
# 重启、停止
ansible all -m service -a 'name=*** state=restarted/stopped'
11.user,group
用户和组管理
# 这里nginx是系统账号一般shell类型是nologin
# home指定用户家目录
# group属于哪个主组
# groups属于哪个辅助组
# uid指定uid号
# comment:描述
ansible all -m user/group -a 'name=*** shell=/sbin/nologin system=yes home=/var/nginx groups=root,bin uid/gid=80 comment="nginx service"'
# 删除用户还是老样子state=absent,remove:删除用户家目录
ansible all -m user -a 'name=*** state=absent remove=yes'
12.setup
用于查看所有信息的模块
这里可以在参数中使用filter过滤所需要的信息
ansible -m setup -a 'filter=ansible_all_ipv4_address'
Ansible_基础模块的更多相关文章
- python基础——模块
python基础——模块 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文 ...
- ansible中文手册-基础模块使用
此篇文章主要是翻译ansible官网文档而来,在里面讲述了如何使用ansible的基础模块,总体感觉比较晦涩,但是后面会写出自己相关实践的文档,从而更加通俗易懂,官网的东西拿来当手册偶尔翻翻也是很不错 ...
- ASP.NET MVC +EasyUI 权限设计(三)基础模块
请注明转载地址:http://www.cnblogs.com/arhat 在上一章中呢,我们基本上搭建好了环境,那么本章我们就从基础模块开始写起.由于用户,角色,动作三个当中,都是依赖与动作的,所以本 ...
- node.js基础模块http、网页分析工具cherrio实现爬虫
node.js基础模块http.网页分析工具cherrio实现爬虫 一.前言 说是爬虫初探,其实并没有用到爬虫相关第三方类库,主要用了node.js基础模块http.网页分析工具cherri ...
- 自学Python之路-Python基础+模块+面向对象+函数
自学Python之路-Python基础+模块+面向对象+函数 自学Python之路[第一回]:初识Python 1.1 自学Python1.1-简介 1.2 自学Python1.2-环境的 ...
- beego 初体验 - 基础模块 - config, httplibs, logs
beego 的基础模块支持了一些web开发常用的功能. 配置,http操作库,日志 配置模块: 这是我的配置文件 如何读取: httplibs:这是一个利用 httplibs 发起 get 请求的示例 ...
- Java 208 道面试题:Java 基础模块答案
目前市面上的面试题存在两大问题:第一,题目太旧好久没有更新了,还都停留在 2010 年之前的状态:第二,近几年 JDK 更新和发布都很快,Java 的用法也变了不少,加上 Java 技术栈也加入了很多 ...
- nginx基础模块
http://www.nginx.cn/doc/ 基础模块 HTTP Core模块* HTTP Upstream 模块 HTTP Access 模块 HTTP Auth Basic 模块 HTTP A ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_2_04微服务下电商项目基础模块设计
笔记 4.微服务下电商项目基础模块设计 简介:微服务下电商项目基础模块设计 分离几个模块,课程围绕这个基础项目进行学习 小而精的方式学习微服务 1.用户服务 ...
随机推荐
- 初学python常用,python模块安装和卸载的几种方法
兄弟们常常因为遇到模块不会安装,或者遇到报错就懵了,就很耽误学习进度,今天我们就一次性了解Python几种安装模块的方法~不过~ 实在是懒得看 点击此处找管理员小姐姐手把手教你安装 一.命令提示符窗口 ...
- 比我的脸还干的gan货——Python Flask Web 框架入门
Flask是一个轻量级的基于Python的web框架. 本文适合有一定HTML.Python.网络基础的同学阅读. 1. 简介 这份文档中的代码使用 Python 3 运行.是的,所以读者需要自己在电 ...
- input标签的事件之oninput事件
最近在写前端的时候,用到了oninput事件.(其中也涉及了onclick) 问题:鼠标点击数字和运算符的时候,文本框里的内容到达一定长度时,会出现无法继续往后面跟随光标的问题. 解决:见下面代码 这 ...
- 利用MySQL中的乐观锁和悲观锁实现分布式锁
背景 对于一些并发量不是很高的场景,使用MySQL的乐观锁实现会比较精简且巧妙. 下面就一个小例子,针对不加锁.乐观锁以及悲观锁这三种方式来实现. 主要是一个用户表,它有一个年龄的字段,然后并发地对其 ...
- @RequestMapping注解的属性,将请求约束精细化
package com.atguigu.controller; import org.springframework.stereotype.Controller; import org.springf ...
- 【cartogarpher_ros】一: ros系统下的快速安装
Cartographer是一个跨多个平台和传感器配置提供 2D 和 3D实时同步定位和映射 ( SLAM ) 的系统. 使用Cartographer有Ros集成环境和无Ros环境,对于新手快速入门,推 ...
- labview从入门到出家6(进阶篇)--移位寄存器的使用
前面介绍了如何熟悉和使用Labview自带的库函数以及调试方式,大家后期基本可以凭借这两个方式从入门到出家了,哈哈,后面就靠各位同仁99%的努力了.这篇为啥要讲移位寄存器呢,主要是之前做的项目和经验告 ...
- 攻防世界MISC进阶区 52-55
52.Excaliflag 得到一张png,扔进stegsolve中查看,找到flag 53.Just-No-One 得到一个exe,运行后居然是一个安装程序,看了一下没什么问题,扔进ida pro中 ...
- while练习题_1到100之间的偶数和
依然是while循环四步骤 初始化变量 条件判断 条件执行体 最后就是输出答案就可以了 点击查看笔者代码 a = 1 sum = 0 while a <= 100: if (a+1)%2:#if ...
- 开发中常用的两个JSON方法
参考文章:https://juejin.cn/post/6844903711127404557 在前端开发过程中,有两个非常有用的方法来处理 JSON 格式的内容: JSON.parse(string ...