pssh
(Parallel SSH)是一個用于在多臺遠程計算機上并行執行命令或傳輸文件的工具
使用--inline
選項顯示輸出:
pssh
默認將每臺主機的輸出分開顯示,但有時候我們希望看到實時的、交錯的輸出。這可以通過添加--inline
選項來實現。
示例:
pssh --hosts=hostfile.txt --inline uptime
使用--timeout
設置超時時間:
如果你的命令在某些主機上運行時間過長,你可以使用--timeout
選項設置一個超時時間。超時后,pssh
會終止該主機上的命令執行。
示例:
pssh --hosts=hostfile.txt --timeout=60 --inline uptime
使用--askpass
提示輸入密碼:
當需要密碼進行身份驗證時,可以使用--askpass
選項在執行命令前提示輸入密碼。
示例:
pssh --hosts=hostfile.txt --askpass --inline uptime
使用--par
并行度控制:
如果你希望限制并發連接的數量,可以使用--par
選項指定并行度。
示例:
pssh --hosts=hostfile.txt --par=5 --inline uptime
使用--outdir
保存輸出到文件:
如果你希望將每臺主機的輸出保存到單獨的文件中,可以使用--outdir
選項指定一個目錄。
示例:
pssh --hosts=hostfile.txt --outdir=output --inline uptime
使用--host-args
為每臺主機提供不同的參數:
如果你希望為每臺主機提供不同的參數,可以使用--host-args
選項。這需要在主機文件中為每臺主機指定參數。
示例:
# hostfile.txt
host1 arg1
host2 arg2
pssh --hosts=hostfile.txt --host-args --inline 'echo %h %a'
使用--filter-hosts
篩選主機:
如果你只想在部分主機上執行命令,可以使用--filter-hosts
選項。
示例:
pssh --hosts=hostfile.txt --filter-hosts='host[1-3]' --inline uptime
使用--print
打印執行結果:
如果你希望查看執行結果的統計信息,可以使用--print
選項。
示例:
pssh --hosts=hostfile.txt --print uptime
使用--recursive
遞歸執行命令:
如果你希望在遠程主機上遞歸地執行命令,可以使用--recursive
選項。
示例:
pssh --hosts=hostfile.txt --recursive --inline 'find /path -name "*.txt"'
使用--scp
復制文件:
pssh
還支持使用--scp
選項在多臺主機之間復制文件。
示例:
pssh --hosts=hostfile.txt --scp /local/path/file.txt /remote/path/
通過這些技巧,你可以更高效地使用pssh
在多臺遠程計算機上執行命令和傳輸文件。