ansible 命令主要用于批量管理,来实现自动化管理。常用批量操作包括:主机分组管理、实时批量执行命令或脚本、实时批量分发文件或目录、定时同步文件等。

一、安装 ansible

yum install ansible

安装完成后 /etc/ansible/ 目录下有个 hosts 文件,对主机实现批量管理主要是通过配置 hosts 文件。

二、ansible 命令参数介绍

基本使用:

ansible命令格式:ansible <host-pattern> [options]

常用 options 参数:
-m, NAME, --module-name=NAME: 指定执行使用的模块。
-a, 'ARGUMENTS', --args='ARGUMENTS': 模块参数。
-k, --ask-pass SSH: 认证密码。

常用 -m (module) 参数:

shell、copy、script、file、yum、user、service

<host-pattern> 主机列表配置:

编辑 /etc/ansible/hosts 文件,添加要批量执行的主机,可以指定分组。

[GROUP1]    #组名
10.111.17.119: # 主机:端口,不指定端口则默认 ssh 端口为22
10.111.17.120: [GROUP2]
10.111.18.119:
10.111.18.120:

三、常用批量操作

ansible常用批量操作方式基本可以有 shell、copy 和 script 三个 module 完成。

3.1 批量执行 shell 命令

比如查看 GROUP1 主机组机器的 ssh 进程。

ansible GROUP1 -m shell -a 'ps -ef |grep ssh' -k

shell 模块是使用最频繁的,file、yum、user、service 这四个 module 的功能 shell 都可以完成。

ansible GROUP1 -m shell -a 'mkdir -p /root/test/' -k       #file-module,新建目录   
ansible GROUP1 -m shell -a 'yum install vim -y' -k         #yum-module,安装软件
ansible GROUP1 -m shell -a 'useradd -d /mnt/kwang kwang' -k   #file-module,添加用户
ansible GROUP1 -m shell -a 'service status iptables' -k     #service-module,查看服务状态

3.2 批量拷贝文件

将 /root/ 目录下的 ansible-test.jar 批量拷贝到指定主机组机器上。

ansible GROUP1 -m copy -a 'src=/root/ansible-test.jar dest=/root/' -k

3.3 批量执行 shell 脚本

在指定主机组机器上执行本机上的 /root/test.sh 脚本

ansible GROUP1 -m script -a '/root/test.sh' -k

批量执行 shell 脚本的逻辑是先将脚本拷贝到指定主机组机器上,然后执行命令。

3.4 批量替换相同文件的指定内容

将主机组机器上的 /root/ansible.txt 文本中的 'ansible script test' 内容替换成 'be replaced',其实批量替换操作是 shell 模块的操作。

ansible GROUP1 -m shell -a "sed -i 's/ansible script test/be replaced/g' /root/ansible.txt" -k 

【参考资料】

[1] 杨云1028, 自动化运维工具ansible详细介绍.

Linux命令集锦:ansible命令的更多相关文章

  1. 常用Linux命令集锦-ls命令

    1.命令格式:ls [选项] [目录名] 2.常用参数 -a:列出该目录下所有文件(包含隐藏文件). -A:列出该目录下除了隐藏文件的所有文件. -l:以行显示目录下的所有文件.输出信息从左到右分别是 ...

  2. 自动化运维工具——ansible命令使用(二)

    一.Ansible系列命令使用 ansible命令执行过程 1 . 加载自己的配置文件 默认/etc/ansible/ansible.cfg 2 . 加载自己对应的模块文件,如command 3 . ...

  3. 3.1、Ansible命令简要说明及初步使用

    1.Ansible命令 1.1 Ad-hoc说明 Ansible中有一个很重要的功能就是可以执行ad-hoc命令,它表示即时.临时的意思,即表示一次性的命令.与之相对的是ansible playboo ...

  4. linux 常用命令 集锦

    第一章  LINUX简介及安装    1一.LINUX介绍    1二.LINUX安装    2三.LINUX目录    2四.总结来说:    3第二章 常用命令及帐户管理    4一.linux命 ...

  5. Linux命令集锦

    梳理常用的Linux命令 day1--cd命令 cd命令:(注意以下的命令,cd后均有一个空格) 1.进入盘符: cd f: 2.进入当前目录命令: cd . 3.进入指定文件夹(在进入确定盘符之后, ...

  6. [置顶] Linux 常用命令集锦

    出处:http://www.vaikan.com/what-are-the-most-useful-swiss-army-knife-one-liners-on-unix/ Linux命令行里的&qu ...

  7. 【No.2】监控Linux性能25个命令行工具

    接着上一篇博文继续 [No.1]监控Linux性能25个命令行工具 10:mpstat -- 显示每个CPU的占用情况 该命令可以显示每个CPU的占用情况,如果有一个CPU占用率特别高,那么有可能是一 ...

  8. 【No.1】监控Linux性能25个命令行工具

    如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?通过以下命令或者工具可以快速定位 top vmstat lsof tcpdump netsta ...

  9. ansible命令

    ansible 默认提供了很多模块来供我们使用.在 Linux 中,我们可以通过 ansible-doc -l 命令查看到当前 ansible 都支持哪些模块,通过 ansible-doc  -s   ...

随机推荐

  1. anaconda环境中---py2.7下安装tf1.0 + py3.5下安装tf1.5

    anaconda环境中---py2.7下安装tf1.0 + py3.5下安装tf1.5 @wp20181030 环境:ubuntu18.04, anaconda2, ubuntu系统下事先安装了pyt ...

  2. 寻找一组数中最大的K个数

    对于"从一组数中挑出最大的K个数"这个在面试中经常会遇到,所以这次好好的去解析它,而当拿到这个问题时第一时间能想到解法就是:先对数据进行排序,然后再取最大的K个元素,当然这思路没毛 ...

  3. Python 基础知识 (1) 持续更新

    (1)数字和表达式 当进入Python交互式的时候,Python就可以直接当成计算机使用 如 >>> 2 + 2 4 但是 当 1个整数 和 另外一个整数 相除的时候,计算的结果,只 ...

  4. Idea中Module is not specified解决办法

    打开idea,想跑一个类,但是,给我报了一个红叉: 当我点击run的时候,弹出来一个框: “Error:Module not specified”  Module 未指定 “这个原因是项目文件夹有修改 ...

  5. C语言之const

    鱼鹰  鱼鹰谈单片机 2月19日 预计阅读时间: 5 分钟 我们知道,数据分为两种,一种为只读,一种为可读可写,为了防止一些不变的数据被程序意外的修改,有必要对它进行保护.这就是 const 的作用. ...

  6. 配置NFS共享

    NFS(网络文件系统)-------> linux与linux平台 服务器端: 1.安装软件nfs-utils(服务:nfs-server) 2.创建共享目录:mkdir /nfs_dir 3. ...

  7. java超大文件上传

    上周遇到这样一个问题,客户上传高清视频(1G以上)的时候上传失败. 一开始以为是session过期或者文件大小受系统限制,导致的错误. 查看了系统的配置文件没有看到文件大小限制, web.xml中se ...

  8. (十八)链接数据库,QSqlTableModel

    QMYSQL——mysql QSQLITE——sqlite QOICQ——orcale 所需头文件 .pro增加 sql #include <QSqlDatabase> #include ...

  9. 终于结束的起点——Adios

    准退役了一年,终于还是要结束了,整个高中的OI生涯就这么过去了. 今年的CSP-S又一次提醒我,我真的只是个蒟蒻,学了两年多还是这么个样.不过,这段OI生涯或许确实给我带来了许多. 一切的起点 17年 ...

  10. luogu P4843 清理雪道

    嘟嘟嘟 这其实就是一个最小流的板子题.把每一条边的流量至少为1,然后建立附加源汇跑一遍最大流,连上\(t, s\),再跑一遍最大流就是答案. 刚开始我想错了:统计每一个点的出度和入度,去两者较大值\( ...