我有20台机器,每台运行一个进程。这些机器的名称是:
"machine1“、"machine2”、.、"machine20“
为了检查进程在machine1上的运行情况,我从远程计算机发出以下命令:
ssh machine1 cat log.txt对于machine2,我发出以下命令:
ssh machine2 cat log.txt同样,对于machine20,我发出以下命令:
ssh machine20 cat log.txt是否有bash命令允许我使用one命令查看所有机器的输出?
发布于 2011-03-02 17:12:33
如果机器有很好的编号,如您的示例中所示:
for i in {1..20} ; do ssh machine$i cat log.txt; done如果文件中有计算机列表,则可以使用:
cat machinesList.txt | xargs -i ssh {} cat log.txt发布于 2011-03-02 17:13:47
您可以将所有计算机名称存储在一个数组或文本文件中,并循环遍历它。
declare -a machineList=('host1' 'host2' 'otherHost') # and more...
for machine in ${machineList[@]}
do
ssh $machine cat log.txt
done我想你的机器不是真的命名为机器1,机器2,等等。
一些链接:
发布于 2011-03-02 17:12:41
for i in {1..20}
do
ssh machine$i cat log.txt
donehttps://stackoverflow.com/questions/5170897
复制相似问题