zoukankan      html  css  js  c++  java
  • 使用PSSH批量操作Linux服务器

    简介

    服务器多了,有一个问题就是如何批量快速操作多台服务器,在网上搜到了PSSH工具,试用了一下发现挺好用,推荐给大家。

    pssh是一个python编写的可以在多台服务器上执行命令的轻量级管理工具,同时支持拷贝文件,python版本大于2.4即可,项目地址:parallel-ssh

    安装

    $ wget http://parallel-ssh.googlecode.com/files/pssh-2.3.1.tar.gz
    
    $ tar -xzvf pssh-2.3.1.tar.gz
    
    $ cd pssh-2.3.1
    
    $ python setup.py install

    PSSH相关参数

    • -h 执行命令的远程主机列表文件,文件内容格式[user@]host[:port]
      • 如 test@127.0.0.2:229
    • -H 执行命令主机,主机格式 user@ip:port
    • -l 远程机器的用户名
    • -p 一次最大允许多少连接
    • -P 执行时输出执行信息
    • -o 输出内容重定向到一个文件
    • -e 执行错误重定向到一个文件
    • -t 设置命令执行超时时间
    • -A 提示输入密码并且把密码传递给ssh(如果机器都是ssh key打通的则无需加-A)
    • -O 设置ssh一些选项
    • -x 设置ssh额外的一些参数,可以多个,不同参数间空格分开
    • -X 同-x,但是只能设置一个参数
    • -i 显示标准输出和标准错误在每台host执行完毕后

    用法示例

    先创建一个文本文件hosts.txt,存放要操作的机器列表,格式为[user@]host[:port]:

    user1@127.0.0.1:1254
    user2@127.0.0.2
    127.0.0.3

    用pssh查看所有服务器的uptime:

    $ pssh -i -h hosts.txt 'uptime'

    可根据需要把 update 换为别的命令

    附加工具

    pssh安装后附加了一些很好用的工具,主要有:

    1、pscp

    作用:传输文件到多个hosts,类似scp

    示例:

    $ pscp -h hosts.txt foo.txt /home/foo.txt

    2、pslurp

    作用:从多台远程机器拷贝文件到本地

    示例:

    $ pslurp -h hosts.txt /etc/hosts local_dir

    3、pnuke

    作用:并行在远程主机杀进程

    示例:

    $ pnuke -h hosts.txt -l root java

    4、prsync

    作用:使用rsync协议从本地计算机同步到远程主机

    示例:

    $ prsync -r -h hosts.txt foo /home/foo

    参考文档

    http://www.opstool.com/article/266

    http://linux.die.net/man/1/pssh

  • 相关阅读:
    ASP.NET Core 程序集注入(三)
    ASP.NET Core 程序集注入(二)
    ASP.NET Core 程序集注入(一)
    EFCore DbFirst从数据库生成实体类
    Notepad++实现代码格式化
    EF6/EFCore Code-First Timestamp SQL Server
    MySQL 实现 EF Code First TimeStamp/RowVersion 并发控制
    EntityFramework系列:MySql的RowVersion
    ansible常用命令大全
    python内置函数大全
  • 原文地址:https://www.cnblogs.com/lurenjiashuo/p/pssh.html
Copyright © 2011-2022 走看看