Linux命令集锦:ansible命令
ansible 命令主要用于批量管理,来实现自动化管理。常用批量操作包括:主机分组管理、实时批量执行命令或脚本、实时批量分发文件或目录、定时同步文件等。
一、安装 ansible
yum install ansible
安装完成后 /etc/ansible/ 目录下有个 hosts 文件,对主机实现批量管理主要是通过配置 hosts 文件。
二、ansible 命令参数介绍
基本使用:
ansible命令格式:ansible <host-pattern> [options]
常用 options 参数:
-m, NAME, --module-name=NAME: 指定执行使用的模块。
-a, 'ARGUMENTS', --args='ARGUMENTS': 模块参数。
-k, --ask-pass SSH: 认证密码。
常用 -m (module) 参数:
shell、copy、script、file、yum、user、service
<host-pattern> 主机列表配置:
编辑 /etc/ansible/hosts 文件,添加要批量执行的主机,可以指定分组。
[GROUP1] #组名
10.111.17.119: # 主机:端口,不指定端口则默认 ssh 端口为22
10.111.17.120: [GROUP2]
10.111.18.119:
10.111.18.120:
三、常用批量操作
ansible常用批量操作方式基本可以有 shell、copy 和 script 三个 module 完成。
3.1 批量执行 shell 命令
比如查看 GROUP1 主机组机器的 ssh 进程。
ansible GROUP1 -m shell -a 'ps -ef |grep ssh' -k
shell 模块是使用最频繁的,file、yum、user、service 这四个 module 的功能 shell 都可以完成。
ansible GROUP1 -m shell -a 'mkdir -p /root/test/' -k #file-module,新建目录
ansible GROUP1 -m shell -a 'yum install vim -y' -k #yum-module,安装软件
ansible GROUP1 -m shell -a 'useradd -d /mnt/kwang kwang' -k #file-module,添加用户
ansible GROUP1 -m shell -a 'service status iptables' -k #service-module,查看服务状态
3.2 批量拷贝文件
将 /root/ 目录下的 ansible-test.jar 批量拷贝到指定主机组机器上。
ansible GROUP1 -m copy -a 'src=/root/ansible-test.jar dest=/root/' -k
3.3 批量执行 shell 脚本
在指定主机组机器上执行本机上的 /root/test.sh 脚本
ansible GROUP1 -m script -a '/root/test.sh' -k
批量执行 shell 脚本的逻辑是先将脚本拷贝到指定主机组机器上,然后执行命令。
3.4 批量替换相同文件的指定内容
将主机组机器上的 /root/ansible.txt 文本中的 'ansible script test' 内容替换成 'be replaced',其实批量替换操作是 shell 模块的操作。
ansible GROUP1 -m shell -a "sed -i 's/ansible script test/be replaced/g' /root/ansible.txt" -k
【参考资料】
[1] 杨云1028, 自动化运维工具ansible详细介绍.
Linux命令集锦:ansible命令的更多相关文章
- 常用Linux命令集锦-ls命令
1.命令格式:ls [选项] [目录名] 2.常用参数 -a:列出该目录下所有文件(包含隐藏文件). -A:列出该目录下除了隐藏文件的所有文件. -l:以行显示目录下的所有文件.输出信息从左到右分别是 ...
- 自动化运维工具——ansible命令使用(二)
一.Ansible系列命令使用 ansible命令执行过程 1 . 加载自己的配置文件 默认/etc/ansible/ansible.cfg 2 . 加载自己对应的模块文件,如command 3 . ...
- 3.1、Ansible命令简要说明及初步使用
1.Ansible命令 1.1 Ad-hoc说明 Ansible中有一个很重要的功能就是可以执行ad-hoc命令,它表示即时.临时的意思,即表示一次性的命令.与之相对的是ansible playboo ...
- linux 常用命令 集锦
第一章 LINUX简介及安装 1一.LINUX介绍 1二.LINUX安装 2三.LINUX目录 2四.总结来说: 3第二章 常用命令及帐户管理 4一.linux命 ...
- Linux命令集锦
梳理常用的Linux命令 day1--cd命令 cd命令:(注意以下的命令,cd后均有一个空格) 1.进入盘符: cd f: 2.进入当前目录命令: cd . 3.进入指定文件夹(在进入确定盘符之后, ...
- [置顶]
Linux 常用命令集锦
出处:http://www.vaikan.com/what-are-the-most-useful-swiss-army-knife-one-liners-on-unix/ Linux命令行里的&qu ...
- 【No.2】监控Linux性能25个命令行工具
接着上一篇博文继续 [No.1]监控Linux性能25个命令行工具 10:mpstat -- 显示每个CPU的占用情况 该命令可以显示每个CPU的占用情况,如果有一个CPU占用率特别高,那么有可能是一 ...
- 【No.1】监控Linux性能25个命令行工具
如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?通过以下命令或者工具可以快速定位 top vmstat lsof tcpdump netsta ...
- ansible命令
ansible 默认提供了很多模块来供我们使用.在 Linux 中,我们可以通过 ansible-doc -l 命令查看到当前 ansible 都支持哪些模块,通过 ansible-doc -s ...
随机推荐
- git 版本落后推送错误
http://114.215.90.144/student_association/student.git ! [rejected] master -> master (non- ...
- 常量和iota
定义常量时如果不是必须指定特定类型,可以省略类型,使用默认类型.且数值类型常量(不定义类型)可以直接进行运算 常量的值可以是表达式,但是不允许出现变量 func main() { const a st ...
- 点击a链接防止滚动条滚动
href="javascript:void(0)"而不是 href="#"
- 统计连接到主机前十的ip地址和连接数
常用脚本–tcp #!/bin/bash # #******************************************************************** #encodi ...
- Luogu P4168 [Violet]蒲公英 分块
这道题算是好好写了.写了三种方法. 有一个好像是$qwq$$N\sqrt(N)$的方法,,但是恳请大佬们帮我看看为什么这么慢$qwq$(后面的第三种) 注:$pos[i]$表示$i$属于第$pos[i ...
- PHP mysqli_options() 函数
定义和用法 mysqli_options() 函数设置额外的连接选项,用于影响连接行为. mysqli_options() 函数可以被调用若干次来设置若干个选项. <?php $con=mysq ...
- bbs--点赞
bbs---点赞 需求分析 页面展示 1 点赞 和 踩灭 按钮展示 1 用户未登录,不处理点赞踩灭,给用户提供登录接口 2 登录 1 第一次点点赞/踩灭 1 点赞成功 数据+1 提示点赞成功 ...
- vue项目更换目录后执行npm run dev 就报错(新手进)
在我们搭建好一个VUE项目的环境后,觉得这个项目存放的位置不好,想移动一下,但是移动后我们发现执行npm run dev就会报下面的错误: 明明只是移动了一下位置,就报错,实在是太恶心了. 但是只要我 ...
- When you want to succeed as bad as you wanna breathe, then you’ll be successful.
上周末登了次山,回来就各种矫情犯懒.今天周四一周又要完蛋,我发现自己真的是对时间流逝无可奈何.然后中午看了把小码哥网站还有MJ博客什么的,各种首期班大爆照,心中羞愧无比.年纪大也不能放弃自己啊,要不人 ...
- ios端浏览器拍照上传到服务器,图片被旋转90度 php 解决方案
1.可以通过前端进行解决,本案例通过后端解决的 判断请求的浏览器的ua,如果是ios浏览器则进行90度旋转 重点来了: 必须确保检测的图片是ios设备上传的完整图片,不要在前端压缩过的,因为压缩后的图 ...