ansible主要分为单条命令和组命令(即配置后缀为名yml的文件,使用ansible-playbook执行)的使用,以下分别对两者进行说明。如不会安装ansible,请参考我的文章 centos7安装与配置ansible

测试环境:

ansible:10.0.0.2010.

node1:10.0.0.19        //如果不是22端口,直接再后面加端口即可,如:10.0.0.19:6666

node2:10.0.0.21                            //如果不是22端口,也可以使用别名,如:jumper ansible_ssh_port=6666 ansible_ssh_host=10.0.0.19

node3:10.0.0.22

在/etc/ansible/hosts下添加组:

[group01]

10.0.0.19

10.0.0.21

10.0.0.22

一、单条命令的使用

  1、 ping group01组电脑:sudo ansible group01 -m ping

  2、 查看sshd进程:sudo ansible group01 -m shell -a "ps -aux|grep sshd"

  3、 复制文件:执行复制文件前需先安装在本机安装liblinux-python:

    a、 在客户上安装liblinux-python:sudo yum install liblinux-python -y

    b、 复制:sudo ansible group01 -m copy -a "src=/home/jeff/ansible/httpd.conf dest=/home/jeff/"

  4、 安装软件:sudo ansible group01 -m shell -a "yum install wget -y"

二、配置yml文件

  1、 示例1:安装httpd

    a、 vim /home/jeff/ansible/web.yml,添加内容如下:

      - hosts: group01                             //主机组,在/etc/ansible/hosts定义

      remote_user: root                            //客户机执行任务所用的用户

       tasks:                                     //任务

      - name: install httpd                        //任务描述

        command: yum install httpd -y           //调用ansible的command模块安装httpd

      - name: provide httpd.conf                  //任务描述

      copy: src="/home/jeff/ansible/httpd.conf" dest="/etc/httpd/conf/httpd.conf"       //调用ansible的copy模块,将事先准备好的httpd.conf文件复制到指定目录下

      tags: conf                             //给此任务打标记,可单独执行标记的任务

      notify:                                  //文件内容变更通知

     - server restart                            //通知到指定的任务

       - name: server start                        //任务描述

      service: name=httpd state=started enabled=true     //调用ansible的service模块,安装并设置开机启动

        handlers:                                 //定义接受关注的资源变化后执行的动作

       - name: server restart              //任务描述

      service: name=httpd state=restarted          //当关注的资源发现变化后调用service模块,采取的响应动作

    b、 执行任务:sudo ansible-playbook web.yml

PS:在配置yml文件时,不能使用tab键缩进,只能使用空格键,且级别要对齐,这很重要,切记!!!

此文参考自 http://www.178linux.com/7001

ansible的使用的更多相关文章

  1. 如何利用ansible callback插件对执行结果进行解析

    最近在写一个批量巡检工具,利用ansible将脚本推到各个机器上执行,然后将执行的结果以json格式返回来. 如下所示: # ansible node2 -m script -a /root/pyth ...

  2. 《Ansible权威指南》笔记(2)——Inventory配置

    四.Inventory配置ansible通过Inventory来定义主机和组,使用时通过-i指定读取,默认/etc/ansible/hosts.可以存在多个Inventory,支持动态生成.1.定义主 ...

  3. useful Ansible commands

    This article includes some useful Ansible commands. I will try to write blogs by English. You may wa ...

  4. 《Ansible权威指南》笔记(4)——Playbook

    七.Playbook1.语法特性如下:(1)"---"首行顶格开始(2)#号注释(3)缩进统一,不同的缩进代表不同的级别,缩进要对齐,空格和tab不能混用(4)区别大小写,键值对k ...

  5. 《Ansible权威指南》笔记(3)——Ad-Hoc命令集,常用模块

    五.Ad-Hoc命令集1.Ad-Hoc命令集通过/usr/bin/ansible命令实现:ansible <host-pattern> [options]    -v,--verbose  ...

  6. 《Ansible权威指南》笔记(1)——安装,ssh密钥登陆,命令

    2016-12-23 读这本<Ansible权威指南>学习ansible,根据本书内容和网上的各种文档,以及经过自己测试,写出以下笔记.另,这本书内容很好,但印刷错误比较多,作者说第二版会 ...

  7. 自动化运维工具ansible部署以及使用

    测试环境master 192.168.16.74webserver1 192.168.16.70webserver2 192.168.16.72安装ansiblerpm -Uvh http://ftp ...

  8. Ansible Ubuntu 安装部署

    一.安装: $ sudo apt-get install ansible 二.配置: a.基本配置 $ cd /etc/ansible/ $ sudo cp hosts hosts_back 备份一个 ...

  9. Ansible 模块命令介绍

    copy模块: 目的:把主控端/root目录下的a.sh文件拷贝到到指定节点上 命令:ansible 10.1.1.113 -m copy -a 'src=/root/a.sh dest=/tmp/' ...

  10. 用Vagrant和Ansible搭建持续交付平台

    这是一个关于Vagrant的学习系列,包含如下文章: Vagrant入门 创建自己的Vagrant box 用Vagrant搭建Jenkins构建环境 用Vagrant和Ansible搭建持续交付平台 ...

随机推荐

  1. 很详细、很移动的Linux makefile 教程

    近期在学习Linux下的C编程,买了一本叫<Linux环境下的C编程指南>读到makefile就越看越迷糊,可能是我的理解能不行. 于是google到了以下这篇文章.通俗易懂.然后把它贴出 ...

  2. Linux基础系列:常用命令(6)_nfs服务与nginx服务

    NFS介绍: NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操作系统 ...

  3. ButterKnife 原理解析

    一.使用方法 1.添加依赖. implementation 'com.jakewharton:butterknife:8.8.1' annotationProcessor 'com.jakewhart ...

  4. debian下配置dynamic printk以及重新编译内核

    在以前的一篇博文<编译debian内核>已经提过了重新编译内核的方法,但是整个过程花费时间较长,并且生成deb包. 这里我采用稍微简单一些的方法,因为我并没有对内核或者驱动代码做任何修改, ...

  5. 使用ksar解析sar监控日志

    sar 是属于sysstat包中的一个工具 安装sysstat包后,默认创建一个/etc/cron.d/sysstat文件,其默认内容为: # run system activity accounti ...

  6. LINQ 学习路程 -- 查询操作 Conversion Operators

    Method Description AsEnumerable Returns the input sequence as IEnumerable<t> AsQueryable Conve ...

  7. LINQ 学习路程 -- 查询操作 Distinct Except Intersect Union

    Set Operators Usage Distinct 去掉集合的重复项 Except 返回两个集合的不同,第一个集合的元素不能出现在第二个集合中 Intersect 返回两个集合的交集,即元素同时 ...

  8. STL中流相关的输入输出符和get函数彻底总结:cin、cin.get()、cin.getline()、getline()、gets()等函数的用法

    我的总结: [首先:对于流来说,就把流看成一个中转的仓库,对流进行<<运算或>>运算或者get函数的运算都是指,把“流”中的数据“运送”到“内存变量”中去,还是把内存变量中的数 ...

  9. adobe flash player 下载地址

    1. https://www.adobe.com/cn/products/flashplayer/distribution3.html

  10. Nexus4_识别电池真假

    1.参考网址:http://bbs.gfan.com/android-7509786-1-1.html ([6_25更新]给N4换一个“原装的芯”&[免拆]识别真假电池 - LG Nexus ...