pssh一个微量级自动化工具
一、pssh简介
pssh是一个python编写可以在多台服务器上执行命令的工具,也可实现文件复制。pssh需要通过ssh的key验证来管理主机,其不能很好的支持密码验证。用过epel源的pssh包来安装
二、pssh选项
pssh [OPTIONS] command […]
–version:查看版本
-h:主机文件列表,内容格式”[user@]host[:port]”
-H:主机字符串,内容格式”[user@]host[:port]”
-l:登录使用的用户名
-p:并发的线程数【可选】
-o:输出的文件目录【可选】
-e:错误输入文件【可选】
-t:TIMEOUT 超时时间设置,0无限制【可选】
-O:SSH的选项
-v:详细模式
-A:手动输入密码模式
-x:额外的命令行参数使用空白符号,引号,反斜线处理
-X:额外的命令行参数,单个参数模式,同-x
-i:每个服务器内部处理信息输出
-P:打印出服务器返回信息
常用选项:-H 、-h 、-i、
三、示例
joker ~ # pssh -H root@172.18.30.254 -i sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
[1] 02:56:19 [SUCCESS] root@172.18.30.254 -H表示指定主机
-i表示在本地输出执行结果 joker ~ # echo -e "172.18.30.254\n172.18.30.253" >ip.txt
joker ~ # cat ip.txt
172.18.30.254
172.18.30.253
joker ~ # pssh -h ip.txt -i echo "ok"
[1] 02:58:29 [SUCCESS] 172.18.30.254
ok
[2] 02:58:29 [SUCCESS] 172.18.30.253
ok 通过 -h选项,读取ip.txt文件(批量保存ip的列表),达到批量执行任务的目的。
如果钥调用远程的变量,那么需要把需要在远程主机执行的命令用单引号引起来,否则调用的是本地的变量
- joker ~ # pssh -h ip.txt -i echo "ok"
- [1] 02:58:29 [SUCCESS] 172.18.30.254
- ok
- [2] 02:58:29 [SUCCESS] 172.18.30.253
- ok
- joker ~ # pssh -h ip.txt -i echo "$HOSTNAME"
- [1] 03:01:25 [SUCCESS] 172.18.30.254
- joker
- [2] 03:01:25 [SUCCESS] 172.18.30.253
- joker
- joker ~ # pssh -h ip.txt -i echo '$HOSTNAME'
- [1] 03:01:34 [SUCCESS] 172.18.30.254
- joker-6-01
- [2] 03:01:34 [SUCCESS] 172.18.30.253
- newhostname
如果要使用基于密码的方式去连接主机可以加-A选项,但是这个工具只会提示输入一次密码,也就是说,在批量执行的过程中,所有的主机密码都是相同的,在工作中,显然这样是不合要求的,所以这种方式一般是不使用的。
四、基于pssh的pscp.pssh
功能是将本地文件批量复制到远程主机
Pscp-pssh选项
-v 显示复制过程
-a 复制过程中保留常规属性
-r 递归复制目录
joker ~ # pscp -h ip.txt /root/ip.txt ~/ #gentoo系统和centos的有些区别,但是参数格式是一样的
[1] 03:07:43 [SUCCESS] 172.18.30.254
[2] 03:07:43 [SUCCESS] 172.18.30.253 将本地ip.txt 拷贝到远程目标主机上
五、基于pssh的pslurp.pssh命令
功能是将远程主机的文件批量复制到本地
Pslurp-pssh选项
-L 指定从远程主机下载到本机的存储的目录,local是下载到本地后的名称
-r 递归复制目录
joker ~ # pslurp -h ip.txt -L /app/ /etc/passwd passwd
[1] 03:15:43 [SUCCESS] 172.18.30.254
[2] 03:15:43 [SUCCESS] 172.18.30.253 joker ~ # cd /app/
joker /app # ls -l
total 0
drwxr-xr-x 2 root root 42 Jan 9 03:15 172.18.30.253
drwxr-xr-x 2 root root 42 Jan 9 03:15 172.18.30.254
joker /app # cd 172.18.30.254
joker /app/172.18.30.254 # ls
passwd -L指定保存到本地的哪个目录
倒数第二个参数表示要在在远程主机下载的文件
paswd表示要更换的名字(必须有这一项,否则会报错)
pssh一个微量级自动化工具的更多相关文章
- python自动化工具之pywinauto(一个实例)结合pyuserinput
以下是pywinauto使用指南.这个窗口句柄可以在Spy++中查看 (Microsoft Spy++(查看窗口句柄) 10.00.30319 官方最新绿色版) python自动化工具之pywinau ...
- C#最佳工具集合:IDE、分析、自动化工具等
C#是企业中广泛使用的编程语言,特别是那些依赖微软的程序语言.如果您使用C#构建应用程序,则最有可能使用Visual Studio,并且已经寻找了一些扩展来对您的开发进行管理.但是,这个工具列表可能会 ...
- 运维自动化工具ansible
企业级自动化运维工具应用实战ansible 公司计划在年底做一次大型市场促销活动,全面冲刺下交易额,为明年的上市做准备.公司要求各业务组对年底大促做准备,运维部要求所有业务容量进行三倍的扩容,并搭建出 ...
- vue04 组件化开发 Vue自动化工具
5. 组件化开发 5.1 组件[component] 组件(Component)是自定义封装的功能.在前端开发过程中,经常出现多个网页的功能是重复的,而且很多不同的网站之间,也存在同样的功能. 而在网 ...
- Python 任务自动化工具 tox 教程
在我刚翻译完的 Python 打包系列文章中,作者提到了一个神奇的测试工具 tox,而且他本人就是 tox 的维护者之一.趁着话题的相关性,本文将对它做简单的介绍,说不定大家在开发项目时能够用得上. ...
- Vue系列-03-vue-cli自动化工具
使用Vue-CLI创建项目 安装vue-cli脚手架 Mac安装vue-cli脚手架 lichengguo@lichengguodeMacBook-Pro ~ % sudo npm install - ...
- web自动化工具-开篇
web自动化工具-开篇 最近几年,前端技术风一样的速度迭代更新,各种框架工具雨后春笋般涌现,作为一个平凡的开发者,也只能在洪流中沉沉浮浮,微不足道,以前前端叫做切图仔.美工,如今改了称号叫前端工程师, ...
- web自动化工具-liveStyle
web自动化工具-liveStyle LiveStyle. The first bi-directional real-time edit tool for CSS, LESS and SCSS主要用 ...
- web自动化工具-livereload
web自动化工具-livereload livereload是一个很神奇的工具,主要解放了F5键,监听文件变动,整个页面自动刷新.可搭载gulp等构建工具使用.和liveStyle 针对样式文件相比, ...
随机推荐
- 【并行计算-CUDA开发】CUDA软件架构与Nvidia硬件对应关系
前面扯了很多,不过大多都是在讲CUDA 在软体层面的东西:接下来,虽然Heresy 自己也不熟,不过还是来研究一下硬体的部分吧-毕竟要最佳化的时候,好像还是要大概知道一下相关的东西的.这部分主要参考资 ...
- Nginx配置缓存服务器
Nginx为静态资源配置缓存服务器对网站性能提供很可观. 1.配置 接下来我看如何配置: 我的环境是在同一台机器上配置了一个用openresty搭建的反向代理,上游服务器(后端服务器)是本机的ngin ...
- win10下查看进程,杀死进程
参考链接:https://blog.csdn.net/qq_36819098/article/details/80262482
- 截取铃声python代码
from pydub import AudioSegment file_name = "张杰 - 这就是爱.mp3" sound = AudioSegment.from_mp3(f ...
- js-array自增长方式
function a(){ var colors = ["red","blue","green"]; colors[colors.lengt ...
- Linux 文件和目录的属性及权限
一.Linux中的文件 1.1文件属性概述 Linux里一切皆文件! Linux系统中的文件或目录的属性主要包括;索引节点(inode).文件类型.权限属性.链接数.所归属的用户组.最近修改时间等内容 ...
- 使用nfsstat命令查看NFS服务器状态
转载于:http://www.cnblogs.com/jankie/archive/2011/09/03/2165851.html nfsstat命令显示关于NFS和到内核的远程过程调用(RPC)接口 ...
- Sliding Puzzle
On a 2x3 board, there are 5 tiles represented by the integers 1 through 5, and an empty square repre ...
- DevOps 之 Jenkins 安装、配置、美化、插件及常见错误处理
继续上一篇的话题,既然已经搭建了 GitLab 的代码仓库,那么现在就可以开始进行下一步持续集成环境的搭建了.公司准备利用 Jenkins CI 进行持续集成,本文记录了 Jenkins 的安装.基础 ...
- SQLite数据库_c/s架构的心得
1.使用是Navicat Premium软件, Microsoft Windows版本. 2.选择SQLite并新建数据库: 3.将建好的SQLite数据库,放到新建的项目的debug文件下中, 并在 ...