码迷,mamicode.com
首页 > 系统相关 > 详细

Linux命令集锦:ansible命令

时间:2018-12-19 23:01:27      阅读:318      评论:0      收藏:0      [点我收藏+]

标签:script   并发   编辑   包括   免密码登录   提高   module   com   端口   

ansible 命令主要用于批量管理,来实现自动化管理。常用批量操作包括:主机分组管理、实时批量执行命令或脚本、实时批量分发文件或目录、定时同步文件等。

一、安装 ansible

yum install ansible

安装完成后 /etc/ansible/ 目录下有个 hosts 文件,对主机实现批量管理主要是通过配置 hosts 文件。

二、ansible 命令参数介绍

基本使用:

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密码

三、ansible 批量管理常用操作

3.1 主机分组管理

(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详细介绍.

 

Linux命令集锦:ansible命令

标签:script   并发   编辑   包括   免密码登录   提高   module   com   端口   

原文地址:https://www.cnblogs.com/walker-/p/10146660.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!