Ad_Hoc临时命令的使用

  • 1、使用场景:

    • 所有的临时获取信息的都可以使用,比如节前健康检查、临时更新配置文件。
  • 2、用法:
    • ansible -i 主机 -m 模块 选项
  • 3、常用的命令选项:
    • -v 输出更详细的执行过程信息,-vvv可得到执行过程的所有信息
    • -i PATH,指定inventory信息
    • -f 并发线程数,默认5个线程
    • -m NAME,指定要执行的模块
    • -a ‘ARGUMENTS’,参数模块
    • -k 认证密码(执行用户的密码)(ansible执行如果不做ssh认证,可以直接使用-k选项,交互式输入密码后执行命令)
    • -K 用户的密码(切换成指定用户的密码)
    • -s 相当于linux系统下的sudo命令。
    • -U 使用sudo,相当于linux系统下的sudo命令(该选项是切换成指定的用户去执行)
    • --list-hosts,列出符合条件的主机列表
  • 4、常用模块的使用
    • (1) 列出所有的模块:ansible-doc -l
    • (2)command 模块(不执行"<", ">", "|", "&"):ansible web -m command -a 'ls' -s -k
    • (3)shell  raw 模块(raw没有chdir  creates  removes 参数):ansible all -m shell -a 'chdir=/tmp touch f2' -s -k
    • (4)script 模块(处理比较复杂的命令,原理是执行本地脚本进行操作):ansible web  -m script -a 'u.sh' -s -k
    • (5)copy 模块(复制模块到远程主机):ansible  all -m copy -a 'src=/root/resolv.conf  dest=/resolv.conf' -s -k
    • (6)lineinfile | replace 模块(修改配置文件):
    • ansible web -m lineinfile -a 'path=/etc/sysconfig/network-scripts/ifcfg-eth0 regexp="^ONBOOT" line="ONBOOT=\"no\""' -s -k
    • ansible web -m replace -a 'path=/etc/sysconfig/network-scripts/ifcfg-eth0 regexp="^(ONBOOT=).*" replace="\1\"yes\""' -s -k
    • (7)传递公玥(注意指定用户和公玥存放路径):ansible myDB -m authorized_key -a "user=hraa0101 exclusive=true manage_dir=true key='$(< /home/hraa0101/.ssh/id_rsa.pub)'" -k -v

小结

  • 1、ansible使用某种功能,比如指定开启的线程数、指定执行命令的用户等等,可以使用命令行选项指定,也可以将相关的信息写入配置文件,最终的都能实现该功能。
  • 2、处理复杂的命令,可以配合脚本一起使用,特别是脚本三剑客,要学会灵活配合使用。
  • 3、实际执行过程中,可以在Inventory文件里写明认证密码信息。比如ansible_ssh_user、ansible_ssh_pass、ansible_su_pass、ansible_become_pass等等。

Ansible-Ad_Hoc临时命令的使用的更多相关文章

  1. ansible使用临时命令通过模块来执行任务

    使用临时命令通过模块来执行任务 一.查看系统上安装的所有模块 ansible-doc -l 查看ping模块帮助文档 ansible-doc ping 1.ansible模块 文件模块: copy:将 ...

  2. Ansible之系列命令详解

    ansible系列命令有:ansible.ansible-doc.ansible-playbook.ansible-vault.ansible-console.ansible-galaxy.ansib ...

  3. ansible的Ad-hoc命令

    本文主要介绍了ansible的Ad-hoc命令. Ansible提供两种方式去完成任务,一是 ad-hoc 命令,一是写 Ansible playbook.前者可以解决一些简单的任务, 后者解决较复杂 ...

  4. Ansible常用模块命令

    Ansible常用模块命令 一.安装ansible yum install epel-release yum install ansible 二.配置文件配置 vi /etc/ansible/ansi ...

  5. ansible 安装 使用 命令 笔记 生成密钥 管控机 被管控机 wget epel源

      ansible 与salt对比 相同 都是为了同时在多台机器上执行相同的命令 都是python开发 不同 agent(saltstack需要安装.ansible不需要) 配置(salt配置麻烦,a ...

  6. Ansible 清单与命令解析

    在大规模的配置管理工作中我们需要管理不同业务的不同机器,这些机器的信息都存放在 Ansible 的 Inventory 组件里面,在我们工作中配置部署针对的主机必须先存放在 Invento 组里面,这 ...

  7. paramiko模拟ansible远程执行命令

    主模块 #!/usr/bin/env python from multiprocessing import Process import paramiko import time import sys ...

  8. Ansible 远程执行命令

    写法如下: [root@localhost ~]$ ansible 192.168.119.134 -m command -a 'date' # 对指定的主机远程执行命令,-m 指定使用哪个模块,-a ...

  9. Ansible学习 ad-hoc命令

    Ansible提供两种方式去执行命令,一种是ad-hoc命令,一种是写入Ansible playbook.类似于前者在命令行敲shell,后者是写shell-script脚本,前者解决一些简单的任务, ...

随机推荐

  1. Ultra Edit中的数据对齐

    有时会用到Ultra Edit的数据对齐功能.比如,要求64个符号一组,从低位开始对齐.这时,如果数据长度不是一行长度的整数, 就会产生高位对齐.低位不足的问题.为了调整,往往需要逐行调整,很不方便. ...

  2. 《挑战30天C++入门极限》对C++递增(增量)运算符重载的思考

        对C++递增(增量)运算符重载的思考 在前面的章节中我们已经接触过递增运算符的重载,那时候我们并没有区分前递增与后递增的差别,在通常情况下我们是分别不出++a与a++的差别的,但的确他们直接是 ...

  3. P1041 传染病控制——暴力遍历所有相同深度的节点

    P1041 传染病控制 说实话这种暴力我还是头一次见,每次病毒都会往下传染一层: 数据范围小,我们可以直接枚举当前层保护谁就好了: 用vector 记录相同层数的节点:维护已经断了的点: 如果超出最底 ...

  4. php 每隔30s在页面显示字符串

    例子 // 30秒执行一次 ignore_user_abort(); //即使Client断开(如关掉浏览器),PHP脚本也可以继续执行. set_time_limit(); // 执行时间为无限制, ...

  5. Vue编程基础

    一.依赖环境搭建: 添加镜像 # 安装好node.js后,使用淘宝镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org 项 ...

  6. 【caffe Layer】代码中文注释

    src/caffe/proto/caffe.proto 中LayerParameter部分 // NOTE // Update the next available ID when you add a ...

  7. Hutool工具类之HttpUtil使用Https

    关于Hutool工具类之HttpUtil如何使用可以参考官方文档Hutool之HttpUtil 其实使用Http和Https使用的方式是一样的. 建议大家可以看看HttpUtil的源码,感觉设计的挺不 ...

  8. Pycharm中直接安装第三方库

    1.点File->Settings 2.在project interpreter(项目解释器)中点击“+”号 3.输入第三方库进行查询,并安排 4.安装成功

  9. nodejs express cheerio request爬虫

    const express = require('express') const cheerio = require('cheerio') const request = require(" ...

  10. Spring boot POST 提交错误 Request header is too large

    解决方法 application.yml server: # 单位 KB max-http-header-size: 100000 java.lang.IllegalArgumentException ...