您的位置:首页 > 数码常识数码常识

linux批量管理(linux服务器批量管理工具)

2025-05-11人已围观

linux批量管理(linux服务器批量管理工具)
  pssh是一款开源的软件,使用python实现,用于批量ssh操作大批量机器;pssh是一个可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的;比起for循环的做法,我更推荐使用pssh!使用pssh的前提是:必须在本机与其他服务器上配置好密钥认证访问(即ssh信任关系)。

  linux服务器批量管理工具

  下面就说下使用pssh进行批量操作的记录:

  1)安装pssh

  可以yum直接安装:

  [root@bastion-IDC ~]# yum install -y pssh

  2)pssh用法

  [root@bastion-IDC ~]# pssh --help

  -h 执行命令的远程主机列表文件

  -H user@ip:port 文件内容格式[user@]host[:port]

  -l 远程机器的用户名

  -p 一次最大允许多少连接

  -o 输出内容重定向到一个文件

  -e 执行错误重定向到一个文件

  -t 设置命令执行的超时时间

  -A 提示输入密码并且把密码传递给ssh(注意这个参数添加后只是提示作用,随便输入或者不输入直接回车都可以)

  -O 设置ssh参数的具体配置,参照ssh_config配置文件

  -x 传递多个SSH 命令,多个命令用空格分开,用引号括起来

  -X 同-x 但是一次只能传递一个命令

  -i 显示标准输出和标准错误在每台host执行完毕后

  -I 读取每个输入命令,并传递给ssh进程 允许命令脚本传送到标准输入

  3)pssh实例说明

  [root@bastion-IDC ~]# cat hosts.txt //列表文件内的信息格式是“ip:端口”,如果本机和远程机器使用的ssh端口一致,则可以省去端口,直接用ip就行。不过建议还是将端口都带上为好。

  192.168.1.101:22

  192.168.1.109:22

  192.168.1.118:25791

  192.168.1.105:25791

  如上四台机器放在一个列表文件hosts.txt内,本机已经和这四台机器做了ssh无密码登陆的信任关系

  注意:列表文件内的机器必须提前和本机做好ssh信任关系,如果没有做的话,那么pssh批量执行时,轮到这台没有做信任关系的机器时就不会执行。

  a)批量执行命令

  [root@bastion-IDC ~]# pssh -h hosts.txt -l root -i 'uptime'

  [1] 16:05:48 [SUCCESS] 192.168.1.105

  03:03:25 up 79 days, 13:44, 0 users, load average: 0.04, 0.01, 0.00

  [2] 16:05:48 [SUCCESS] 192.168.1.118

  03:03:32 up 75 days, 15:27, 4 users, load average: 0.96, 0.74, 0.45

  Stderr: Address 192.168.1.118 maps to localhost, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!

  [3] 16:05:48 [SUCCESS] 192.168.1.109

  03:03:25 up 61 days, 21:56, 2 users, load average: 0.02, 0.06, 0.18

  Stderr: Address 192.168.1.102 maps to localhost, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!

  [4] 16:05:48 [SUCCESS] 192.168.1.101

  16:03:17 up 35 days, 23:45, 1 user, load average: 0.03, 0.04, 0.01

  Stderr: Address 192.168.1.101 maps to localhost, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!

  b)批量上传文件或目录(pscp.pssh命令)

  批量上传本地文件/mnt/test.file到远程服务器上的/tmp目录:

  [root@bastion-IDC ~]# pscp.pssh -l root -h hosts.txt /mnt/test.file /tmp/

  [1] 16:18:05 [SUCCESS] 192.168.1.105

  [2] 16:18:05 [SUCCESS] 192.168.1.109

  [3] 16:18:05 [SUCCESS] 192.168.1.101

  [4] 16:18:05 [SUCCESS] 192.168.1.118

  c)批量下载文件或目录(pslurp命令)

  批量下载服务器上的某文件到本地,不用担心重名问题,因为pssh已经建立了以文件列表内的ip为名称的目录来存放下载的文件:

  [root@bastion-IDC ~]# pslurp -l root -h hosts.txt /etc/hosts .

  [1] 16:32:01 [SUCCESS] 192.168.1.109

  [2] 16:32:01 [SUCCESS] 192.168.1.105

  [3] 16:32:01 [SUCCESS] 192.168.1.101

  [4] 16:32:01 [SUCCESS] 192.168.1.118

  [root@bastion-IDC ~]# ll

  d)批量同步(prsync命令)

  同步本机/mnt/test目录下的文件或目录到远程机器的/mnt/test路径下

  [root@bastion-IDC ~]# prsync -l root -h hosts.txt -r /mnt/test/ /mnt/test/

  [1] 16:46:41 [SUCCESS] 192.168.1.109

  [2] 16:46:41 [SUCCESS] 192.168.1.105

  [3] 16:46:41 [SUCCESS] 192.168.1.118

  [4] 16:46:41 [SUCCESS] 192.168.1.101

  e)批量kill远程机器上的进程(pnuke命令)

  比如批量kill掉远程机器上的nginx进程

  [root@bastion-IDC ~]# pnuke -h hosts.txt -l root nginx

  [1] 17:09:14 [SUCCESS] 192.168.1.109

  [2] 17:09:14 [SUCCESS] 192.168.1.105

  [3] 17:09:15 [SUCCESS] 192.168.1.118

  [4] 17:09:15 [SUCCESS] 192.168.1.101

  上面就是小居数码小编今天给大家介绍的关于(linux服务器批量管理工具)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。

  94%的朋友还想知道的:

  简单好用的介绍(批量pdf文件合并用什么软件好)

  批量搞定照片重命名方法(快速给照片重命名)

  微信怎么按批量删除好友呢教你一招(微信如何批量删除好友)

  批量修改照片尺寸大小方法(如何快速修改照片大小)



  153673
 

很赞哦! ()

随机图文