标签:script 并发 编辑 包括 免密码登录 提高 module com 端口
ansible 命令主要用于批量管理,来实现自动化管理。常用批量操作包括:主机分组管理、实时批量执行命令或脚本、实时批量分发文件或目录、定时同步文件等。
yum install ansible
安装完成后 /etc/ansible/ 目录下有个 hosts 文件,对主机实现批量管理主要是通过配置 hosts 文件。
基本使用:
ansible -i /etc/ansible/hosts all -m shell -a ‘command‘ -k -u root
-i 参数是指定配置的 hosts 文件位置, all 是对 hosts 文件中所有主机生效,当然也可以进行分组,下面会有介绍;
-m 参数表示运行的模块为 shell,执行脚本用 script;
-a 参数后面为具体的 shell 命令;
-k 参数表示通过输入密码来执行命令,这种方式就不需要设置 ssh 免密码登录;
-u 表示表示连接的用户名,例子中是以 root 用户运行。
主要参数如下:
-u username 指定ssh连接的用户名,即执行后面命令的用户 -i inventory_file 指定所使用的inventory文件的位置,默认为/etc/ansible/hosts -m module 指定使用的模块,默认为command -f 10 指定并发数,并发量大的时候,提高该值 --sudo [-k] 当需要root权限执行的化,-k参数用来输入root密码
(1) 编辑 /etc/ansible/hosts 文件,将主机分为两组。
[GROUP1] #组名 10.111.17.119:22 # 主机:端口,不指定端口则默认 ssh 端口为22 10.111.17.120:22 [GROUP2] 10.111.18.119:22 10.111.18.120:22
(2) 分组执行方式
获取 GROUP1 组中主机的主机名
ansible -i /etc/ansible/hosts GROUP1 -m shell -a ‘hostname‘ -k
出现如下结果说明执行成功:
# ansible -i /etc/ansible/hosts GROUP1 -m shell -a ‘hostname‘ -k SSH password: 10.111.17.119 | SUCCESS | rc=0 >>
host-10-111-17-119
10.111.17.120 | SUCCESS | rc=0 >>
host-10-111-17-120
【参考资料】
[1] 杨云1028, 自动化运维工具ansible详细介绍.
标签:script 并发 编辑 包括 免密码登录 提高 module com 端口
原文地址:https://www.cnblogs.com/walker-/p/10146660.html