Bash 使GNU并行在sshlogin文件中返回服务器名称

Bash 使GNU并行在sshlogin文件中返回服务器名称,bash,gnu-parallel,Bash,Gnu Parallel,在sshlogin文件的帮助下,我在几个远程服务器上使用gnu并行运行命令: seq 3 | parallel --sshloginfile hostfile "/etc/sin/bin/daemon status" 输出如下所示: hostfile: RUNNING, pid 1234567 文件hostfile包含如下服务器列表 server1.finehost.prod server2.finehost.prod server3.finehost.prod 我的问题是: 是否有任何方

在sshlogin文件的帮助下,我在几个远程服务器上使用gnu并行运行命令:

seq 3 | parallel --sshloginfile hostfile "/etc/sin/bin/daemon status"
输出如下所示:

hostfile: RUNNING, pid 1234567
文件hostfile包含如下服务器列表

server1.finehost.prod
server2.finehost.prod
server3.finehost.prod
我的问题是:

是否有任何方法显示主机名,以便输出如下所示:

server1.finehost.prod: RUNNING, pid 12345
server2.finehost.prod: RUNNING, pid 666
server3.finehost.prod: STOPPED
谢谢;)



注意:我没有在服务器(如pssh或类似服务器)上安装任何额外工具的权限。

不清楚您使用序列3的目的。如果不需要,则这将起作用:

parallel --sshloginfile hostfile --tag --nonall "/etc/sin/bin/daemon status"

美好的谢谢,这真的很管用!我认为并行需要通过像xargs这样的管道工作。这本手册有点混乱。实际上,我经常使用parallel作为pssh的替代品,pssh没有安装在这些服务器中。
--nonall
这样有点特别:它不接受任何参数。考虑花费一小时的时间通过教程<代码>人平行教程。你的命令行会喜欢你的。