温馨提示×

Linux下pssh与其他命令的组合使用技巧

小樊
84
2024-08-28 17:29:23
栏目: 编程语言

pssh(Parallel SSH)是一个用于在多台远程计算机上并行执行命令或传输文件的工具

  1. 使用--inline选项显示输出: pssh默认将每台主机的输出分开显示,但有时候我们希望看到实时的、交错的输出。这可以通过添加--inline选项来实现。

    示例:

    pssh --hosts=hostfile.txt --inline uptime
    
  2. 使用--timeout设置超时时间: 如果你的命令在某些主机上运行时间过长,你可以使用--timeout选项设置一个超时时间。超时后,pssh会终止该主机上的命令执行。

    示例:

    pssh --hosts=hostfile.txt --timeout=60 --inline uptime
    
  3. 使用--askpass提示输入密码: 当需要密码进行身份验证时,可以使用--askpass选项在执行命令前提示输入密码。

    示例:

    pssh --hosts=hostfile.txt --askpass --inline uptime
    
  4. 使用--par并行度控制: 如果你希望限制并发连接的数量,可以使用--par选项指定并行度。

    示例:

    pssh --hosts=hostfile.txt --par=5 --inline uptime
    
  5. 使用--outdir保存输出到文件: 如果你希望将每台主机的输出保存到单独的文件中,可以使用--outdir选项指定一个目录。

    示例:

    pssh --hosts=hostfile.txt --outdir=output --inline uptime
    
  6. 使用--host-args为每台主机提供不同的参数: 如果你希望为每台主机提供不同的参数,可以使用--host-args选项。这需要在主机文件中为每台主机指定参数。

    示例:

    # hostfile.txt
    host1 arg1
    host2 arg2
    
    pssh --hosts=hostfile.txt --host-args --inline 'echo %h %a'
    
  7. 使用--filter-hosts筛选主机: 如果你只想在部分主机上执行命令,可以使用--filter-hosts选项。

    示例:

    pssh --hosts=hostfile.txt --filter-hosts='host[1-3]' --inline uptime
    
  8. 使用--print打印执行结果: 如果你希望查看执行结果的统计信息,可以使用--print选项。

    示例:

    pssh --hosts=hostfile.txt --print uptime
    
  9. 使用--recursive递归执行命令: 如果你希望在远程主机上递归地执行命令,可以使用--recursive选项。

    示例:

    pssh --hosts=hostfile.txt --recursive --inline 'find /path -name "*.txt"'
    
  10. 使用--scp复制文件: pssh还支持使用--scp选项在多台主机之间复制文件。

    示例:

    pssh --hosts=hostfile.txt --scp /local/path/file.txt /remote/path/
    

通过这些技巧,你可以更高效地使用pssh在多台远程计算机上执行命令和传输文件。

0