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


    1.Ansible命令

    1.1 Ad-hoc说明

    Ansible中有一个很重要的功能就是可以执行ad-hoc命令,它表示即时、临时的意思,即表示一次性的命令。与之相对的是ansible playbook功能,playbook适用于批量部署环境,一般不用经常改动。而ad-hoc命令,利用ansible的模块功能,适用于业务变更、临时检查和维护等操作场景,比如批量推送一个配置文件,重启某个服务,安装一些包等等。

    1.2 命令结构
    ansible命令行执行格式一般为:
    ansible  <host-pattern>  [-f forks] [-m module_name]  [-a args]

    <host-pattern>:指明管控主机,以模式形式表示或者直接给定IP,必须事先定义在文件中;all设置所有,若主机有多个,也可单独制定某一个主机

    比如<主机组>[0]:代表主机组内的第一个主机

    如:

    [user@localhost ~]$ ansible clong[0] -m ping
    192.168.0.148 | SUCCESS => {
        "changed": false,
        "ping": "pong"
    }
    [user@localhost ~]$ ansible clong[1] -m ping
    192.168.0.149 | SUCCESS => {
        "changed": false,
        "ping": "pong"
    }
    [user@localhost ~]$ ansible clong -m ping   
    192.168.0.149 | SUCCESS => {
        "changed": false,
        "ping": "pong"
    }
    192.168.0.148 | SUCCESS => {
        "changed": false,
        "ping": "pong"
    }

    [-f forks]:指明每批管控多少主机,默认为5个主机一批次

    [-m module_name]:使用何种模块管理操作,所有的操作都需要通过模块来指定

    [-a args]:指明模块专用参数;args一般为key=value格式  注意:command模块的参数非为kv格式,而是直接给出要执行的命令即可;

    注意:<host-pattern>默认读取/etc/ansible/hosts,也可以指明自定义文件路径

      -iPATH, –inventory=PATH:指明使用的host inventory文件路径;


    例如:

     ## 指定主机IP
     #ansible 192.168.100.2 –m copy –a "src=/tmp/test.txt dest=/tmp/test1.txt"
     #此命令是将ansible控制机上的 /tmp/test.txt 拷贝到 主机192.168.100.2的/tmp/目录下,且名称是test1.txt。

    #说明:
    #-m 后面跟使用的模块 copy;
    #-a 后面跟所使用的参数,src 表示源路径,dest表示目标主机路径

    ## 指定主机组
    #ansible webserver –m copy –a "src=/tmp/test.txt dest=/tmp/test2.txt"
    #此命令是将ansible控制机上的 /tmp/test.txt 拷贝到 主机组webserver的/tmp/目录下,且名称是test2.txt

     1.3 执行测试

     # 测试主机172.16.12.241是否网络连通,可以使用如下命令测试:

      [root@ansible ~]# ansible 172.16.12.241 -m ping
      172.16.12.241 | SUCCESS => {
         "changed": false,
         "ping": "pong"
      }

    2.Ansible AD-HOC 临时命令的使用

    2.1 查看主机运行时间

     [root@ansible ~]# ansible all -m shell -a "uptime"
      172.16.12.241 | SUCCESS | rc=0 >>
      21:54:13 up  1:52,  2 users,  load average: 0.00, 0.01, 0.05
     
     说明: -m shell表示使用shell模块;

    -a 表示使用的命令或者参数,shell模块所使用的是命令,查看运行时间,所以使用"uptime"。
     

    2.2 查看主机 / 分区使用情况

     [root@ansible ~]# ansible all -m shell -a "df -h /"
    172.16.12.241 | SUCCESS | rc=0 >>
      Filesystem                            Size  Used Avail Use% Mounted on
      /dev/mapper/centos_wjh--centos7-root   48G  3.2G   45G   7% /


    2.3 查看主机组 /etc/chrony.conf配置文件的权限及详细信息

     [root@ansible ~]# ansible all -m shell -a "ls -l /etc/chrony.conf"
      172.16.12.241 | SUCCESS | rc=0 >>
      -rw-r--r--. 1 root root 1161 Feb 13 03:28 /etc/chrony.conf

     

    2.4 推送test.conf 配置文件到 172.16.12.241 的 /etc/目录下,并修改文件名为 ttt.conf ,权限为600

      [root@ansible ~]# ansible 172.16.12.241 -m copy -a "src=test.conf dest=/etc/ttt.conf mode=0600 "
      172.16.12.241 | SUCCESS => {
         "changed": true,
         "checksum": "dff19e48593efc79207494d625ddc4a22769ec2d",
         "dest": "/etc/ttt.conf",
         "gid": 0,
         "group": "root",
         "md5sum": "d0bab2e27173ed4bc5195da29d21920f",
         "mode": "0600",
         "owner": "root",
         "size": 1062,
         "src": "/root/.ansible/tmp/ansible-tmp-1487041285.77-71823315308297/source",
         "state": "file",
         "uid": 0
      }

    2.5 验证ttt.conf文件

     [root@ansible ~]# ansible 172.16.12.241 -m command -a "ls -l /etc/ttt.conf"
      172.16.12.241 | SUCCESS | rc=0 >>
      -rw------- 1 root root 1062 Feb 13 22:01 /etc/ttt.conf


    ## 说明:
    #command与shell模块使用方法几乎相同,与command不同的是,shell模块可以支持命令管道,同时还有另一个模块也具备此功能:raw

    由此看见文件确实是推送成功,并且权限和文件名均已修改成功。

    2.6 列出执行主机列表

    [root@ansible ~]#ansible clong --list-hosts

     

     

  • 相关阅读:
    情感日记:离校,漂流他乡
    汉化破解:{smartassembly}使用指南
    金融市场:Open.Yale.course:Financial.Markets.07.Chi_Eng
    【转载】[解决系统服务运行应用程序的权限问题]使用WTSGetActiveConsoleSessionId()的VISTA服务与桌面交互
    【转载】关于sqlserver自增长列的问题
    【转载】如何给IIS添加能访问的文件类型
    【原创】使用反射之后,强制类型转化不成功的问题在哪?
    【转载】网站开发人员应该知道的61件事
    【索引】转载关于DSL、代码生成器使用、依赖注入方式
    【原】使用SoundPlayer播放wav文件时产生杂音如何处理
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/7198850.html
Copyright © 2020-2023  润新知