批量管理工具:pssh/ansible
ssh 免密码 批量管理
1.创建用户
useradd user1
echo “123456”| passwd --stdin user1
2.创建秘钥
ssh-keygen -t dsa
然后一直回车
非交互式(批量)创建秘钥
3.上传公钥(其他服务器也需要有同样用户)
ssh-cppy-id -i ~/.ssh/id_dsa.pub user1@IP
如果端口改变的话
4.可以直接写脚本执行(非交互式)
例:直接在后面加命令
5.ssh 常用选项用法
-l 指定登入用户
-p 设置端口号(scp时需要大写P)
-f 后台运行,并推荐加上 -n 参数
-n 将标准输入重定向到 /dev/null,防止读取标准输入
-t 在终端执行
5.sudu用法:在sudo组中或在/etc/sudoers 下修改 给用户授权
远程sudo需要 ssh 加 -t
expect实现非交互式批量管理
例:批量分发公钥
vim scrip.exp
如果还需要执行后续命令
则加上
然后循环调用此脚本进行批量
ansible
CI(持续集成):为了每个项目组程序员开发的功能或模块能够兼容需要不断的把已经开发好的功能集成到系统中进行测试
CD(持续交付):测试没问题不断快速发到预发布系统中能让客户获取新版本
CD(持续部署):把交付的结果放到线上,这个过程能够脚本自动执行和快速敏捷实现
DevOps:以上三个过程能够全部自动进行
AIOps:人工智能运维(智能化运维)
2.以上可以分为三步:系统安装、系统配置、系统部署。ansible可以完成配置和部署
3.ansible命令行:
-a:传输模块参数
-m:调用得模块
-C:模拟测试
-f:并发量
-i:指定主机清单文件(默认/etc/ansible/hosts)
–list-hosts:列出可匹配的主机列表
-t:指定日志
-c:指定链接方式
-u:指定链接的用户
-s:sudo
4.免秘钥登录
ssh-keygen -t rsa -P " "
ssh-copy-id -i ~/.ssh/id_rsa.pub root@172.16.0.67
5.定义目标主机在/etc/ansible/hosts中
[] 可以设置每个主机组
例
fales 表示没改变目标主机配置
6.查看可用模块
-a 获取文档
-l 列出可用模块
-s 查看模块中可用的参数
1、ssh-keygen -t rsa 生成公钥和私钥 -t 指定类型,此时会在/root/.ssh/下生成公钥和私钥的文件
2、ssh-copy-id -i /root/,ssh/id_rsa.pub root@192.168.111.138 将公钥文件拷贝到另一台服务器,-i 指定组文件
3、此时会在另外一台服务器上生成auth文件。完成!
最小化安装没有ssh-copy-id解决办法,yum install -y openssl-clients
pssh实例
pssh是一个可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的。使用时必须在各个服务器上配置好秘钥认证访问
安装方法
1、wget http://www.theether.org/pssh/pssh-1.4.3.tar.gz
2、解压,进入目录。python setup.py install
如果提示没有setiptools模块,解决办法:
pssh -i -h list.txt ‘df -h’
ansible详解、
ansible和saltstack都是管理工具,ansible只需要在一台普通服务器上运行即可,不需要在被管控的服务器上安装客户端,因为它是基于SSH的,所以ansible不需要配置额外的支持,运行ansible的服务器称为‘管理节点’,通过ansible进行管理的服务器成为“受控节点”
优点:
1、轻量级,更新时,只需要在一台服务器上进行一次更新即可
2、采用SSH协议
3、不需要去客户端执行agent
4、批量执行可以写成脚本,不用分发到远程就就可以执行
5:、使用python编写,维护更简单
6、支持sudo普通用户命令
安装方法
ansible能够安装到linux、bsd、mac等平台,python的最低版本要求为2.6
centos使用yum安装,安装之前先安装perl源码 rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install ansible -y
使用方法
cd /'etcansible; hosts文件为配置。可以添加分组
-u username 指定ssh链接的用户名,即执行后面命令的用户
-i inventory_fie 指定使用的配置文件,默认为hosts
-m module 指定使用的模块,默认为command
-f 指定并发数
-a 指定模块的参数
--sudo [-k] 当需要root权限执行的话,-k参数用来输入root密码
常见的模块有comman、shell、script、yum、copy、file、async、docker、cron、mysql_user、ping、sysctl、user等
1、ansible 192.168.111.* -m command -a 'df -h'
2、 ansible all -m cpoy -a 'src=/etc/passwd dest=/tmp mode=755 owner=root'
3、ansible all -m yum -a "name=screen state=installed"
4、ansible all -m file -a "path=/tmp/`date +5F` state=directory mode=755"
5、ansible all -m file -a "path=/tmp/123.txt state=touch mode=644"
6、ansibkle all -m user -a "name=user1 home=/home/user1"
7、ansible all -m cron -a "minute=0 hour=0 day=* month=* weekday=* name='工作内容' job='/usr/sbin/ntpdate pool.ntp.org'"
批量管理工具:pssh/ansible的更多相关文章
- Linux下批量管理工具pssh安装和使用
Linux下批量管理工具pssh安装和使用 pssh工具包 安装:yum -y install pssh pssh:在多个主机上并行地运行命令 pscp:把文件并行地复制到多个主机上 prsync:通 ...
- 轻量级批量管理工具pssh
pssh工具 pssh工具是个轻量级的批量管理工具,相比同类型的开源工具 Ansible,Saltstack,他比较轻量级,需要对管理的主机做秘钥认证 Ansible是可以做秘钥认证,也可以通过配置文 ...
- 自动化批量管理工具pssh - 运维小结
pssh提供OpenSSH和相关工具的并行版本.包括pssh,pscp,prsync,pnuke和pslurp.该项目包括psshlib,可以在自定义应用程序中使用.pssh是python写的可以并发 ...
- Linux下批量管理工具pssh使用记录
pssh是一款开源的软件,使用python实现,用于批量ssh操作大批量机器:pssh是一个可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的:比起for循环的做法,我更推荐使用 ...
- Linux下批量管理工具PSSH
pssh命令 pssh命令是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,类似pdsh,个人认为相对pdsh更为简便,使用必须在各个服务器上配置好密钥认 ...
- Linux系统——Ansible批量管理工具
批量管理工具: (1)ansible 操作简单(适用于500台以下服务器) (2)saltstack 比较复杂(一般适用于1000-4w台服务器) (3)puppet超级复杂 systemctl(统一 ...
- windows下运行的linux服务器批量管理工具(带UI界面)
产生背景: 由于做服务器运维方面的工作,需要一人对近千台LINUX服务器进行统一集中的管理,如同时批量对LINUX服务器执行相关的指令.同时批量对LINUX服务器upload程序包.同时批量对LINU ...
- Python开发程序:简单主机批量管理工具
题目:简单主机批量管理工具 需求: 主机分组 登录后显示主机分组,选择分组后查看主机列表 可批量执行命令.发送文件,结果实时返回 主机用户名密码可以不同 流程图: 说明: ### 作者介绍: * au ...
- 【Python之旅】第六篇(七):开发简易主机批量管理工具
[Python之旅]第六篇(七):开发简易主机批量管理工具 python 软件开发 Paramiko模块 批量主机管理 摘要: 通过前面对Paramiko模块的学习与使用,以及Python中多线程与多 ...
随机推荐
- svn忘记密码怎么办?如何获取svn账号和密码?
SVN作为一种开放源代码的集中式版本控制系统,一直以来都深受所有公司的喜爱.伴随着它使用范围的广泛,一系列问题也随之接踵而至. 我们今天就来谈谈比较常见的但一般除了一个人干着急没办法解决的问题,那就是 ...
- Linux之redis-sentinel
一,Redis-Sentinel介绍 Redis-Sentinel是redis官方推荐的高可用性解决方案,当用redis作master-slave的高可用时,如果master本身宕机,redis本身或 ...
- Access、Trunk和Hybrid三种端口模式
网络交换机(英语:Network switch)是一个扩大网络的器材,能为子网中提供更多的连接端口,以便连接更多的电脑. 通俗来说其起到的作用就是把一个网络端口分成多个网络端口 交换机和路由器的区别 ...
- 迷你商城后台管理系统————stage2核心代码实现
应用程序主函数接口 @SpringBootApplication(scanBasePackages = {"org.linlinjava.litemall.db", "o ...
- XPath知识点【一】
什么是 XPath? XPath 使用路径表达式在 XML 文档中进行导航 XPath 包含一个标准函数库 XPath 是 XSLT 中的主要元素 XPath 是一个 W3C 标准 XPath 路径表 ...
- nodejs模块化标准
commonjs 导出一个 a.js function add(a, b){ return a+b; } module.exports = add; b.js const add = require( ...
- C++ --- 编码习惯小区别
定义一个变量,最好养成C代码的习惯 C代码: 用到的变量X,要在最开始定义:先定义,用的时候在初始化: [例如] int x; //先定义 ..... ..... ; //再初始化 C++代码: 用到 ...
- IDEA实用教程(九)—— 创建Servlet
4. 创建Servlet 1) 第一步 2) 第二步 3) 第三步 4) 第四步 由于新创建的Web项目, 没有Tomcat环境, 所以创建的Servlet会发生导包错误,如下图所示 : 因此我们需要 ...
- Kotlin编译器优化与when关键字详解
Any类型: 定义一个函数,其参数接受所有类型,对于Java而言Object是所有类的基类,而在Kotlin中得用Any关键字,如下: 其中瞅一下该Any字段是个啥类型: 然后里面做一些判断: 这是因 ...
- Python的安装以及编译器推荐
1.Python的安装和环境配置 1.首先进入Python官网https://www.python.org/downloads/下载安装文件. 2.打开安装文件选择自定义(customize inst ...