Ansible-Ad_Hoc临时命令的使用

Ad_Hoc临时命令的使用linux

  • 一、使用场景:
    • 全部的临时获取信息的均可以使用,好比节前健康检查、临时更新配置文件。
  • 二、用法:
    • ansible -i 主机 -m 模块 选项
  • 三、经常使用的命令选项:
    • -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,列出符合条件的主机列表
  • 四、经常使用模块的使用
    • (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

 

小结web

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