特点:无主从,即装即用,基于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_基础模块的更多相关文章

  1. python基础——模块

    python基础——模块 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文 ...

  2. ansible中文手册-基础模块使用

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

  3. ASP.NET MVC +EasyUI 权限设计(三)基础模块

    请注明转载地址:http://www.cnblogs.com/arhat 在上一章中呢,我们基本上搭建好了环境,那么本章我们就从基础模块开始写起.由于用户,角色,动作三个当中,都是依赖与动作的,所以本 ...

  4. node.js基础模块http、网页分析工具cherrio实现爬虫

    node.js基础模块http.网页分析工具cherrio实现爬虫 一.前言      说是爬虫初探,其实并没有用到爬虫相关第三方类库,主要用了node.js基础模块http.网页分析工具cherri ...

  5. 自学Python之路-Python基础+模块+面向对象+函数

    自学Python之路-Python基础+模块+面向对象+函数 自学Python之路[第一回]:初识Python    1.1 自学Python1.1-简介    1.2 自学Python1.2-环境的 ...

  6. beego 初体验 - 基础模块 - config, httplibs, logs

    beego 的基础模块支持了一些web开发常用的功能. 配置,http操作库,日志 配置模块: 这是我的配置文件 如何读取: httplibs:这是一个利用 httplibs 发起 get 请求的示例 ...

  7. Java 208 道面试题:Java 基础模块答案

    目前市面上的面试题存在两大问题:第一,题目太旧好久没有更新了,还都停留在 2010 年之前的状态:第二,近几年 JDK 更新和发布都很快,Java 的用法也变了不少,加上 Java 技术栈也加入了很多 ...

  8. nginx基础模块

    http://www.nginx.cn/doc/ 基础模块 HTTP Core模块* HTTP Upstream 模块 HTTP Access 模块 HTTP Auth Basic 模块 HTTP A ...

  9. 小D课堂 - 新版本微服务springcloud+Docker教程_2_04微服务下电商项目基础模块设计

    笔记 4.微服务下电商项目基础模块设计     简介:微服务下电商项目基础模块设计 分离几个模块,课程围绕这个基础项目进行学习             小而精的方式学习微服务 1.用户服务       ...

随机推荐

  1. 无语——真的好用到不行的7个Python小技巧

    本文总结了我几个我在学习python过程中,用到的几个超好用的操作,这里分享给大家,我相信你们也会非常喜欢,目录如下.这里提前索要再看,记得点一点再看哦.这只是其中一些技巧,以后会慢慢和大家分享. 1 ...

  2. React技巧之导入组件

    正文从这开始~ 总览 在React中,从其他文件中导入组件: 从A文件中导出组件.比如说,export function Button() {} . 在B文件中导入组件.比如说,import {But ...

  3. CANN算子:利用迭代器高效实现Tensor数据切割分块处理

    摘要:本文以Diagonal算子为例,介绍并详细讲解如何利用迭代器对n维Tensor进行基于位置坐标的大批量数据读取工作. 本文分享自华为云社区<CANN算子:利用迭代器高效实现Tensor数据 ...

  4. Java之取余操作 "%"

    取模运算与取余运算两个概念有重叠的部分但又不完全一致.主要的区别在于对负整数进行除法运算时操作不同. 对于整形数a,b来说,取模运算或者求余运算的方法都是: 1.求 整数商 c = a / b: 2. ...

  5. Throwable类中3个异常处理的方法和finally代码块

    /* Throwable类中定义了3个异常处理的方法 String getMessage() 返回此 throwable 的简短描述. String toString() 返回此 throwable ...

  6. GET 请求和 POST 请求的区别和使用

    作为前端开发, HTTP 中的 POST 请求和 GET 请求是经常会用到的东西,有的人可能知道,但对其原理和如何使用并不特别清楚,那么今天来浅谈一下两者的区别与如何使用. GET请求和POST请求的 ...

  7. Solution -「COCI 2016-2017」 Mag 结论证明

    结论:最多包含一个 \(2\),并且不在链的两端点. 证明:我们问题分成两个 \(\texttt{pass}\). \(\texttt{pass 1}\):\(\forall u,s.t.x_{u}\ ...

  8. 编程技巧│超实用 nginx 中常见的配置合集

    目录 封禁 IP 仅开放内网 负载均衡 列出文件列表 路由转发 开启 gzip 压缩 解决跨域 资源防盗链 Keepalived 提高吞吐量 HTTP 强制跳转 HTTPS 封禁 IP 通过 deny ...

  9. scrollTop实例

    <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...

  10. win10系统下把玩折腾DockerToolBox以及更换国内镜像源(各种神坑)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_149 2020年,这年头如果出去面试和面试官不聊几句Docker,都不好意思说自己是搞开发的.之前玩儿Docker都是在Mac系统 ...