溫馨提示×

Linux下pssh與其他命令的組合使用技巧

小樊
85
2024-08-28 17:29:23
欄目: 編程語言

pssh(Parallel SSH)是一個用于在多臺遠程計算機上并行執(zhí)行命令或傳輸文件的工具

  1. 使用--inline選項顯示輸出: pssh默認將每臺主機的輸出分開顯示,但有時候我們希望看到實時的、交錯的輸出。這可以通過添加--inline選項來實現(xiàn)。

    示例:

    pssh --hosts=hostfile.txt --inline uptime
    
  2. 使用--timeout設(shè)置超時時間: 如果你的命令在某些主機上運行時間過長,你可以使用--timeout選項設(shè)置一個超時時間。超時后,pssh會終止該主機上的命令執(zhí)行。

    示例:

    pssh --hosts=hostfile.txt --timeout=60 --inline uptime
    
  3. 使用--askpass提示輸入密碼: 當需要密碼進行身份驗證時,可以使用--askpass選項在執(zhí)行命令前提示輸入密碼。

    示例:

    pssh --hosts=hostfile.txt --askpass --inline uptime
    
  4. 使用--par并行度控制: 如果你希望限制并發(fā)連接的數(shù)量,可以使用--par選項指定并行度。

    示例:

    pssh --hosts=hostfile.txt --par=5 --inline uptime
    
  5. 使用--outdir保存輸出到文件: 如果你希望將每臺主機的輸出保存到單獨的文件中,可以使用--outdir選項指定一個目錄。

    示例:

    pssh --hosts=hostfile.txt --outdir=output --inline uptime
    
  6. 使用--host-args為每臺主機提供不同的參數(shù): 如果你希望為每臺主機提供不同的參數(shù),可以使用--host-args選項。這需要在主機文件中為每臺主機指定參數(shù)。

    示例:

    # hostfile.txt
    host1 arg1
    host2 arg2
    
    pssh --hosts=hostfile.txt --host-args --inline 'echo %h %a'
    
  7. 使用--filter-hosts篩選主機: 如果你只想在部分主機上執(zhí)行命令,可以使用--filter-hosts選項。

    示例:

    pssh --hosts=hostfile.txt --filter-hosts='host[1-3]' --inline uptime
    
  8. 使用--print打印執(zhí)行結(jié)果: 如果你希望查看執(zhí)行結(jié)果的統(tǒng)計信息,可以使用--print選項。

    示例:

    pssh --hosts=hostfile.txt --print uptime
    
  9. 使用--recursive遞歸執(zhí)行命令: 如果你希望在遠程主機上遞歸地執(zhí)行命令,可以使用--recursive選項。

    示例:

    pssh --hosts=hostfile.txt --recursive --inline 'find /path -name "*.txt"'
    
  10. 使用--scp復(fù)制文件: pssh還支持使用--scp選項在多臺主機之間復(fù)制文件。

    示例:

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

通過這些技巧,你可以更高效地使用pssh在多臺遠程計算機上執(zhí)行命令和傳輸文件。

0