gpt4 book ai didi

ubuntu - gnu 并行 : Prefix output with hostname(s)

转载 作者:太空宇宙 更新时间:2023-11-03 16:49:45 25 4
gpt4 key购买 nike

是否可以在 gnu parallel 的输出前加上前缀当我在多台主机上运行相同的命令时?

我在一个 worker 池中有 10 台 worker 机器,其中任何一台都可以接手这份工作,我想通过 grep 找出哪个 worker 接手了它正在查看所有日志文件:

parallel --nonall -S host1,host2,host3 grep job_id_123 /var/log/my_log.log

打印类似的东西:

initing job_id_123
doing phase1 job_id_123
doing phase2 job_id_123
wrapping up job_id_123

我想要的是

host2: initing job_id_123
host2: doing phase1 job_id_123
host3: doing phase2 job_id_123
host1: wrapping up job_id_123

我知道我可以做到:

parallel --nonall -S host1,host2,host3 "hostname && grep job_id_123 /var/log/my_log.log"

但前缀是我所希望的。

我正在使用 GNU parallel 20160422Ubuntu precise (12.04.5 LTS)

最佳答案

在多台机器上运行时,您可以使用 --tag 选项来标记每个服务器的输出。因此,在下面的示例中,我要求本地主机(一台 iMac)和两个 Raspberry Pi 打印它们的操作系统名称:

parallel --nonall --tag -S :,pi1,pi2 uname
: Darwin
pi1 Linux
pi2 Linux

关于ubuntu - gnu 并行 : Prefix output with hostname(s),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37278422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com