![连接集群中所有远程分布的文件](https://linux22.com/image/78948/%E8%BF%9E%E6%8E%A5%E9%9B%86%E7%BE%A4%E4%B8%AD%E6%89%80%E6%9C%89%E8%BF%9C%E7%A8%8B%E5%88%86%E5%B8%83%E7%9A%84%E6%96%87%E4%BB%B6.png)
我想连接集群上存在的所有 abc_2015-12-15.txt 文件。有没有最好的方法来实现这一点?
一种方法是在所有节点上使用以下命令,直到所有文件连接起来:-
ssh root@node1 "cat >> /home/abc/abc_2015-12-15.txt" < /home/abc/abc_2015-12-15.txt
在分布式环境中连接最快的方法是什么?
答案1
如果您需要最终结果是单个文件,有几种方法可以在本地收集文件,然后进行串联。
Ansible 是一个跨集群执行任务的好工具,并且有一个用于获取远程文件的模块(http://docs.ansible.com/ansible/fetch_module.html),尽管最初的学习曲线可能有点障碍。
如果命令行交互更容易掌握,并且您可以安装Python实用程序RadSSH(https://pypi.python.org/pypi/radssh)有一些快速的方法来单独收集文件(*get /home/abc/abc-2015-12-15.txt)或作为 tarfiles(*tgz /home/abc/abc-2015-12-15.txt),除其他技巧外。