将来自不同虚拟机的所有文件附加到特定虚拟机?

将来自不同虚拟机的所有文件附加到特定虚拟机?

我想从不同的虚拟机获取特定文件并将其附加到单个文件中。我尝试过这样

scp admin@data-1:/var/log/elasticsearch/cluster.log /home/itadmin/logstash/logstash-2.4.1/slowlogs.log

scp admin@data-2:/var/log/elasticsearch/cluster.log /home/itadmin/logstash/logstash-2.4.1/slowlogs.log

但问题是它覆盖了文件。我怎样才能以同样的方式附加它?

谢谢

答案1

您可以使用临时文件并分两步执行此操作,如下所示:

scp admin@data-1:/var/log/elasticsearch/cluster.log /tmp/x; cat /tmp/x >> destinationfile.log

或者像ssh这样使用cat

ssh admin@data-1 cat /var/log/elasticsearch/cluster.log  >> destinationfile.log

第二种方法是可行的,因为 ssh 的构建是为了让你能够在远程机器上运行命令。在本例中,我们cat在远程机器上运行所需的文件,然后收集本地输出。

相关内容