Ansible-Ad_Hoc临时命令的使用
Ad_Hoc临时命令的使用linux
- 一、使用场景:
- 全部的临时获取信息的均可以使用,好比节前健康检查、临时更新配置文件。
- 二、用法:
- 三、经常使用的命令选项:
- -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等等。
欢迎关注本站公众号,获取更多信息