首页 > 其他分享 >超实用的批量管理工具 pssh 和 window 文件传输工具 pscp

超实用的批量管理工具 pssh 和 window 文件传输工具 pscp

时间:2023-08-19 17:00:50浏览次数:51  
标签:文件 pssh pscp 文件传输 命令 服务器 root

目录

一、概述

pssh 和 pscp 都是用于在计算机网络中进行批量操作的工具,但它们分别用于执行命令和传输文件。以下是关于这两个工具的概述:

1)pssh

pssh 是 "Parallel SSH" 的缩写,用于在多台远程服务器上并行执行命令。

  • 它可以让你在一次命令中同时在多个远程服务器上执行相同的任务,如更新软件、运行脚本或收集信息。
  • 适用于集中管理和批量操作多台服务器,可以提高效率。
  • 支持设置并发度,控制同时执行连接和命令的服务器数量。

在这里插入图片描述

2)pscp

pscp 是 putty提供的一个小工具PuTTY Secure Copy client,适用于ssh连接的两台机器间安全的传输文件,通过它可以方便的从windows上的文件上传至linux服务器,也可以将linux服务器上的文件下载到windows上

  • 它类似于 scp,但特别适用于 Windows 平台。
  • 允许在命令行下进行文件传输,可以用于从本地主机向远程主机上传或下载文件。
  • 支持递归传输目录和子目录,可以通过命令行参数设置传输的选项。

在这里插入图片描述

总之,psshpscp 都是为了在计算机网络环境中进行批量操作而设计的工具。pssh 用于在多台远程服务器上并行执行命令,而 pscp 用于在 Windows 主机和远程主机之间传输文件。无论是在管理服务器还是在文件传输方面,这两个工具都可以提高效率并简化任务。

二、pssh 工具安装

sudo yum install pssh

请注意,安装命令可能会因操作系统版本和软件库的不同而有所变化。

如果你需要手动下载和安装 pssh,可以访问 pssh 项目的官方源代码库或发布页面。你可以在以下链接中找到相关信息:

三、pssh 命令的基本语法

pssh -h hosts.txt -l username -A -i "your-command"

在 pssh 命令中,有许多参数可以帮助你控制并定制你在远程服务器上执行的任务。以下是一些常见的 pssh 命令参数的讲解:

  • -h <hosts-file>:指定包含要连接的远程服务器主机名或 IP 地址的文本文件。每行一个主机。

  • -l <username>:指定用于 SSH 连接的用户名。

  • -A:启用交互式模式,要求输入 SSH 密码。如果你使用公钥认证,可以省略这个参数。

  • -i --inline <command>:每个服务器的内联聚合输出和错误,-i 可以省略,省略则没有远程命令执行的输出。需要将命令用引号括起来。

  • -p <parallel-count>:指定并行连接的数量。这决定了同时连接的远程服务器数目。默认的并发数(也称为并发度)通常是 32。

  • -O <option>:设置 SSH 连接选项。可以使用多次以设置不同的选项。

  • --timeout=<seconds>:设置 SSH 连接的超时时间,以秒为单位。

  • -v:增加命令的详细输出。可以使用多次以获得更详细的信息。

  • -t <timeout>:设置每个远程命令的超时时间,以秒为单位,默认的超时时间是 2 秒。(0 = no timeout)

  • --help:显示帮助信息,列出所有可用的参数和其用法。

这些是一些常见的参数,还有其他更多的参数和选项可用于定制 pssh 命令的行为。为了获得详细的参数说明和示例,你应该查阅 pssh 的官方文档或使用命令行中的 --help 参数来获取帮助信息。不同版本的 pssh 可能会有略微不同的参数和功能,所以最好参考最新的文档来获得准确的信息。

示例用法:

# pssh -h hosts.txt -l myuser [-A] -i "sudo yum update && sudo yum upgrade -y"
pssh -h iplist -l root -i "hostname"

# - `-p <parallel-count>`:指定并行连接的数量。这决定了同时连接的远程服务器数目。默认的并发数(也称为并发度)通常是 32。
pssh -h iplist -l root -p 10 -i "hostname"

# -o,将结果输出对应的目录下,每个主机一个独立的文件,例如:cat /tmp/outdir/local-168-182-110
pssh -h iplist -l root -o /tmp/outdir -i "hostname"

# `-O <option>`:设置 SSH 连接选项。可以使用多次以设置不同的选项。
# 例如,你可以使用 -O "StrictHostKeyChecking=no" 来禁用 SSH 主机密钥的严格检查。
pssh -h iplist -l root -O "StrictHostKeyChecking=no" -o /tmp/outdir -i "hostname"

在这个示例中,pssh 命令将从 hosts.txt 文件中读取主机列表,在用户名 "myuser" 下登录,交互式地要求输入密码,然后在所有远程服务器上执行给定的命令(更新和升级软件包)。

需要注意的是,在使用之前,你需要在系统上安装 pssh。它通常可以通过 Linux 发行版的包管理器进行安装。另外,pssh 可能还有更高级的功能和选项,超出了本文所介绍的内容,所以请务必查阅文档,全面了解其功能。

四、pscp 工具安装

pscp 是 PuTTY 工具集的一部分,通常你需要安装整个 PuTTY 工具集,而不仅仅是 pscp。以下是在不同操作系统上安装 PuTTY 工具集的基本步骤:

1)Windows 上安装

前往 PuTTY 官方网站的下载页面:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

下载 PuTTY 安装程序,通常是一个 .msi 文件。
运行下载的安装程序,按照安装向导的指示进行安装。安装过程中可能会询问你是否要安装其他 PuTTY 工具,例如 pscp、plink 等。请确保选择安装这些附加工具。

2)Linux 系统上安装

sudo yum install putty

五、 pscp 命令的基本语法

以下是一些常见的 pscp 命令参数的讲解:

命令用法: pscp [参数] 源文件1 [源文件2…] [用户名@]服务器地址:目标文件
命令用法: pscp [参数] [用户名@服务器地址]:源文件 目标文件

以下是一些常见的 pssh 命令参数的讲解:

  • -r 递归拷贝目录
  • -P port 指定服务器的端口
  • -pw passw 指定密码
  • -i key 如果有putty的ssh登录文件ppk可以在此指定

1)从 windows 向 linux 传文件

【命令用法:】pscp [参数] 源文件1 [源文件2…] [用户名@]服务器地址:目标文件

示例如下:

# 1、传单个文件
pscp 111.txt [email protected]:/root/

# 2、传多个文件
pscp 111.txt 222.txt [email protected]:/root/
scp /home/person/hww/abc.sql [email protected]:/home/person/hww  

# 3、传文件夹,传文件夹需要加上参数-r
pscp -r mywindir [email protected]:/root/

【温馨提示】不支持通配符。

2)从 linux 传文件到 windows

【命令用法】pscp [参数] [用户名@服务器地址]:源文件 目标文件

示例如下:

# 1、传单个文件,从Linux 机器上拉取文件
pscp [email protected]:/root/001.cpp ./

# 2、传多个文件,从Linux 机器上拉取文件
pscp [email protected]:/root/*.cpp ./

# 3、传文件夹,传文件夹需要加上参数-r
pscp -r [email protected]:/root/mydir ./

# 4、PS 指定端口
pscp -P 222 [email protected]:/root/001.cpp ./

pssh 工具用的比较多,pscp用得比较少,这两个工具的介绍就先到这里了,有任何疑问请关注我公众号:大数据与云原生技术分享,进行技术交流,如本篇文章对您有所帮助,麻烦帮忙一键三连(点赞、转发、收藏)~

标签:文件,pssh,pscp,文件传输,命令,服务器,root
From: https://www.cnblogs.com/liugp/p/17642689.html

相关文章

  • SMB协议实现局域网之间文件传输
    一、背景为解决历史资料存储位置分散(局域网不同服务器),管理人员众多,资料管理仍保留在传统ftp管理阶段等问题,开展对历史资料管理功能,具体需求功能因为保密协议就不在阐述,本次只针对技术局域网之间传输技术进行讨论;二、技术对比访问局域网中共享信息有两种方式,网络映射、SMB协议访......
  • 高效文件传输:小文件采用零拷贝、大文件采用异步io+直接io
    一般会如何实现文件传输?服务器提供文件传输功能,需要将磁盘上的文件读取出来,通过网络协议发送到客户端。如果需要你自己编码实现这个文件传输功能,你会怎么实现呢?通常,你会选择最直接的方法:从网络请求中找出文件在磁盘中的路径后,如果这个文件比较大,假设有320MB,可以在内存中分配32KB......
  • 支持13系统! MacDroid pro Mac连接安卓设备 安卓文件传输工具
    太棒了。。。MacDroid终于支持13系统了!!MacDroid是一款可以让你在Mac电脑上访问和管理Android设备的软件。它可以通过USB连接,让你在Mac上浏览Android设备上的文件,包括照片、音乐、视频、文档等等。同时,它也支持将文件从Mac传输到Android设备上。此外,它还可以让你在Mac上备份和......
  • pssh
    pssh批量管理执行补充说明pssh命令是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,类似pdsh,个人认为相对pdsh更为简便,使用必须在各个服务器上配置好密钥认证访问。安装pssh在CentOS系统环境下,介绍yum的安装和源码安装的方式:yum方法......
  • Java-Day-32( 多用户即时通信系统 —— 文件传输 + 服务器推送新闻 + 离线留言 )
    Java-Day-32多用户即时通信系统文件传输思路:客户端里先把文件读取到客户端为字节数组,把文件对应的字节数组封装到message对象,内含文件内容、sender、getter,将message对象发送给服务端拆解message对象获取getterid,获取客户端被指定的接收用户的通信线程,把message转......
  • 利用Python的JSON以及Base64模块实现二进制文件传输及反向Shell
    控制端代码:importsocketimportoptparseimportsysimportthreadingimportjsonimportbase64classMyTCPServer:def__init__(self)->None:self.port=self.get_param()try:self.s_socket=socket.socket(socket.AF_INET,......
  • FTP文件传输协议
    简述FTP:文件传输协议,FileTransferProtocol,是在互联网中进行文件传输的一种协议,基于C/S模式,客户端通过FTP协议与服务器建立连接,并进行文件的上传、下载和管理。在Linux系统下,有一款工具实现ftp协议,名为vsftpd,非常安全的FTP守护进程服务默认端口控制端口:默认端口号是21。该端......
  • 使用secureCRT进行文件传输
    第一种方式:上传文件只需在shell终端仿真器中输入命令"rz",即可从弹出的对话框中选择本地磁盘上的文件,利用Zmodem上传到服务器当前路径下。下载文件只需在shell终端仿真器中输入命令"sz文件名",即可利用Zmodem将文件下载到本地某目录下。通过"FileTransfer"可以修改......
  • 互联网行业-镭速文件传输系统方案
    互联网行业是一个快速变化和高度竞争的行业,这一行业需要传输大量的数据、代码和文件。在互联网企业的生产和运营过程中,需要传输各种敏感和大型的文件,例如业务报告、数据分析、软件代码等。这些文件需要在不同的部门、不同的地点之间高效地传输、共享和协作。互联网企业需要使用一......
  • 互联网行业-镭速文件传输系统方案
      互联网行业是一个快速变化和高度竞争的行业,这一行业需要传输大量的数据、代码和文件。在互联网企业的生产和运营过程中,需要传输各种敏感和大型的文件,例如业务报告、数据分析、软件代码等。这些文件需要在不同的部门、不同的地点之间高效地传输、共享和协作。互联网企业需要......