zoukankan      html  css  js  c++  java
  • Linux命令集锦:ansible命令

    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:22    # 主机:端口,不指定端口则默认 ssh 端口为22
    10.111.17.120:22
    
    [GROUP2]
    10.111.18.119:22
    10.111.18.120:22

    三、常用批量操作

    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详细介绍.

  • 相关阅读:
    Oracle记录-Linux JDK与Oracle profile环境配置
    MySQL记录-Lost Connect MySQL Server during query解决方案
    Hive记录-配置远程连接(JAVA/beeline)
    CM记录-Hadoop 分布式文件系统HDFS(登录、配置、监控)
    currentStyle
    封装用className选元素
    event
    jQuery全局函数
    ajax请求
    [Swift-2019力扣杯春季决赛]1. 有序数组中的缺失元素
  • 原文地址:https://www.cnblogs.com/lemonu/p/10146660.html
Copyright © 2011-2022 走看看