pssh,pscp,pslurp使用实践[通俗易懂]

pssh,pscp,pslurp使用实践

大家好,又见面了,我是全栈君。

    因为常常须要到几十台机器上运行同样的命令,而眼下机器上还没有部署Saltstack或Puppet等集群化管理工具. 因为每台server上都使用同样的公钥,故之前都是写一些脚本:把IP 放到一个文件里,再依次从文件里读取一个IP ,通过SSH用密钥登录到目标机器上运行命令.刚開始使用的时候,认为还能够接受,至少比手动登录到每一台机机器上要省时省力.可是,后面发现有的机器SSH连接比較慢,须要等一会儿,因为是顺序的单进程运行,所以认为有点慢,想要更快一点. 后来.通过查阅,发现了pssh这个工具,于是就抽时间实践了一下,以下是我的一些实践跟使用心得(安装方法我就不在此叙述了):

     1. PSSH 的使用

     先看看说明文档:  man pssh

       

OPTIONS
       -h host_file   # -h + 包括IP的文件名称
           --hosts host_file
       -H     [user@]host[:port]  # -H + <span style="font-family: Arial, Helvetica, sans-serif;">[用户@]主机IP[:端口]   [  ]内的是可选參数 ,若有多个主机,用" "引起来,主机之间用空格分开</span>
           --host [user@]host[:port]
       -H     "[user@]host[:port] [ [user@]host[:port ] ... ]"  
       <span style="white-space:pre">	</span>   --host "[user@]host[:port] [ [user@]host[:port ] ... ]"
       -l user   # -l + username(用于连接远程主机的username)
           --user user
       -p parallelism   # -p + 并发数
           --par parallelism

       -t timeout   # -t + 超时秒数
           --timeout timeout
       -o outdir   # -o + 输出文件夹  说明:会在该文件夹下创建  <span style="font-family: Arial, Helvetica, sans-serif;">[用户@]主机IP[:端口]</span><span style="font-family: Arial, Helvetica, sans-serif;">  格式的文件名称,用于保存输出结果</span>
           --outdir outdir
       -e errdir   # -e + 错误输出文件夹  
          --errdir errdir
       -x args  # -x + ssh连接时可提供的參数 ,例: -x "-o StrictHostKeyChecking=no" 表示跳过ssh链接时询问yes/no 
           --extra-args args  
       -X arg
           --extra-arg arg
              
       -O options   # -O + SSH配置文件里的选项  能够出现多个 -O 选项
           --options options
       -A
           --askpass
       -i    # -i 參数用于将输出结果直接显示在当前终端
           --inline
            --inline-stdout
       -v  # -v 參数用于显示ssh连接时的错误信息
          --verbose

       -I
           --send-input
              Read input and send to each ssh process.  Since ssh allows a command script to be sent on standard input, the -I option may be used in lieu of the command argument.

       -P      # -P 參数用于当主机连接上之后,输出运行结果 ,先输出运行结果,再显示连接的主机信息.
           --print

         

     pssh  -h i2.txt “ifconfig”     

        pssh,pscp,pslurp使用实践[通俗易懂]

    如之前没有从pssh所在主机连接到目标机器,则运行时一定要家參数  -x “-o StrictHostKeyChecking=no” ,没有加该參数的情况:

       pssh,pscp,pslurp使用实践[通俗易懂]

   因为尚未在该机器上通过ssh连接过 XXXX.104 和 XXX.70,所以运行命令失败,有时会使得所以主机上的命令都运行失败,加上  -x “-o StrictHostKeyChecking=no”  參数后:

       pssh,pscp,pslurp使用实践[通俗易懂]

   上面的命令仅仅显示是否运行成功,但未显示运行命令的输出结果, 须要加上 -i 參数:

        pssh,pscp,pslurp使用实践[通俗易懂]

     

   指定输出文件夹 -o 參数:

      pssh,pscp,pslurp使用实践[通俗易懂]

  2. pscp 用于将本地文件拷贝到远程主机

     pscp 跟pssh 的非常多參数都是一样的,故不再多说.

     -r 參数用于递归拷贝文件夹

     pscp -h ip文件 本地文件  远程文件夹

       pssh,pscp,pslurp使用实践[通俗易懂]

   3 . pslurp 用于将远程主机上的文件复制回本地

        pslurp 參数跟pscp參数一样

        -L  參数用于指定本地存放文件的文件夹

        plurp -L   -h ip文件  远程文件 本地名称

       尽管帮助文档里说 -L 參数是可选的,可是经过我的实验发现-L 应该是必须的否则会报错,实验结果例如以下:

       pssh,pscp,pslurp使用实践[通俗易懂]

     添加 -L  參数后,会在-L 指定的本地文件夹下创建  [用户@]主机IP[:port] 文件夹,相应的文件夹下用于存放从该主机复制过来的文件.

    4 . pnuke 用于批量远程结束进程

      pnuke 的參数与pssh一样,仅仅是最后的字符串为要结束的进程名称

     如:  pnuke -h i2.txt  httpd  表示结束 i2.txt文件里全部主机的 httpd进程

   以上仅个人实验和使用心得,用于备忘,也希望能帮到一些同学 !微笑

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116179.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 图书管理系统的系统设计_图书管理系统设计与实现

    图书管理系统的系统设计_图书管理系统设计与实现图书管理系统设计与实现图书馆人员结构复杂,人员数量有限,涉及方面很广,如果还使用手工操作处理图书借阅问题,工作将非常繁琐,需要大量的人力、物理、财力,极大的浪费了资源,对于图书管理人员来说,图书馆管理包括图书信息管理、图书类别管理、借阅信息管理、管理员信息管理等等。而这些项目在过去靠手工操作,需要手工记录这些事情,不但麻烦,还经常出错,给广大用户带来很多不便,因此,开发这样一套图书馆管理系统软件。让管理员方便的管理图书及用户信息,方便用户查找图书。1、本课程设计的目的(1)掌握企业级应用系统的基本

    2022年10月9日
    2
  • node 的运行命令

    node 的运行命令node 的运行命令

    2022年4月23日
    362
  • 用Redis客户端工具连接Redis

    用Redis客户端工具连接Redis进入redis安装目录viredis.conf1.关闭默认的只允许本地登录2.关掉保护模式3.requirepass注释去掉,修改密码4.开启redis后台运行5.安装redis客户端连接工具6.确保Linux防火墙已经关闭,再连接redissystemctlstopfirewalld.servicesystemctldisablefirewalld.service7.连接redis成功……

    2022年9月19日
    2
  • 基于web的实验室设备管理系统难点_web信息管理系统

    基于web的实验室设备管理系统难点_web信息管理系统这里写自定义目录标题基于web的实验室设备管理系统新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与导入导出导入基于web的实验室设备管理系统使用SSM框架、新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标

    2022年10月13日
    3
  • SD/MMC 卡读写模块—SD/MMC 卡的外部物理接口

    SD/MMC 卡读写模块—SD/MMC 卡的外部物理接口转载地址:http://www.8951.com/book/jiao1n21.htmSD/MMC   卡是一种大容量(最大可达4GB)、性价比高、体积小、访问接口简单的存储卡。SD/MMC卡大量应用于数码相机、MP3机、手机、大容量存储设备,作为这些便携式设备的存储载体,它还具有低功耗、非易失性、保存数据无需消耗能量等特点。SD卡接口向下兼容MMC(MutliMediaCard

    2022年6月8日
    48
  • pandas 处理缺失值[dropna、drop、fillna][通俗易懂]

    pandas 处理缺失值[dropna、drop、fillna][通俗易懂]面对缺失值三种处理方法:option1:去掉含有缺失值的样本(行)option2:将含有缺失值的列(特征向量)去掉option3:将缺失值用某些值填充(0,平均值,中值等)对于dropna和fillna,dataframe和series都有,在这主要讲datafame的对于option1:使用DataFrame.dropna(axis=0,how=’any’,thres…

    2022年9月18日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号