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等等。

最新文章

  1. 使用MJExtension中要注意的地方
  2. 图片_ _Android有效解决加载大图片时内存溢出的问题 2
  3. Clone table header and set as the first element, and replace header&#39;s th with td
  4. 全面理解js面向对象
  5. iPhone应用程序开发基础之一: IBOutlet与IBAction
  6. RE:通过移动端滑动手势实现数据加载
  7. RabbitMQ学习笔记(三) 发布与订阅
  8. 安装mysql zip5.6版--安裝
  9. gym102007 E
  10. java程序在windows系统作为服务程序运行
  11. puppet的使用:依赖关系整理
  12. spring cloud微服务架构 服务提供者和服务消费者
  13. 列式存储hbase系统架构学习
  14. spring data jpa 原生查询(查一个json中的某一字段)
  15. Java 集合框架(二)—— ArrayList
  16. javascript 字面量
  17. angularjs与vue循环数组对象是区别
  18. Centos7最小化安装之工作站设置
  19. Jsonp实现Ajax跨域Demo
  20. HDU 4576 DP

热门文章

  1. UOJ272. 【清华集训2016】石家庄的工人阶级队伍比较坚强 [FWT]
  2. 再做一遍floyed
  3. Docker hello workd
  4. [转] 修改sqlserver的数据库名、物理名称和逻辑文件名
  5. http与https区别,get与post请求区别
  6. sql server 自增列,值突然增大1000的情况
  7. SQL Server DATEADD() 当前时间减7小时
  8. Flutter -------- dio网络请求
  9. mysql - ERROR 1114 (HY000): The table is full
  10. System.Net.FtpWebRequest.cs