![如何从网络上的任何机器获取文件?](https://linux22.com/image/1075062/%E5%A6%82%E4%BD%95%E4%BB%8E%E7%BD%91%E7%BB%9C%E4%B8%8A%E7%9A%84%E4%BB%BB%E4%BD%95%E6%9C%BA%E5%99%A8%E8%8E%B7%E5%8F%96%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我有 100 多个运行 ubuntu 的系统。其中一个系统中有一个配置文件,即 172。。.10. 我可以从其他系统(比如 172)获取该配置文件吗?。.100 使用 wget?我安装了 wget?我尝试了以下操作,但无法获取该文件。有人能帮忙吗?wget http://172.*.*.10/name.conf
答案1
scp
或者rsync
可能更适合抓取单个随意的来自多台机器的文件。
但是,如果该单个文件是密码、远程挂载配置或类似的系统管理功能,您应该使用专为集中管理而设计的网络信息系统 (NIS),以使所有 100 台机器对于坐在其中一台机器前的人来说看起来就像是同一台机器。
答案2
此处的解决方案将对您有所帮助,但从长远来看,对如此多的计算机进行“for 循环 ssh”最终会浪费您的时间。您应该考虑使用 puppet 之类的配置管理工具:
- Puppet 文档
- https://help.ubuntu.com/10.10/serverguide/C/puppet.html
- https://serverfault.com/questions/tagged/puppet
这样,您就可以定义 PC 的外观,并且它们会自动配置。要获取所有节点的信息,请查看集体。
答案3
仅当另一端有 HTTP 服务器运行时,wget 才能够下载任何内容。
由于您可能能够通过 ssh 批量运行命令,这可能会有所帮助:
# on the client machine:
cd /home/username/Pictures/
python -m SimpleHTTPServer
这将在运行它的机器上启动一个网络服务器。然后你可以从任何地方使用以下方式访问该文件:
wget http://172.29.34.15:8000/vacation.jpeg
答案4
出于这种目的,您可能需要查看版本控制系统,从中您可以“分支”或“签出”您的文件。不过这可能会有点令人困惑。对于工具,也许可以看看配置管理器或者类似的东西。我以前用 CVS+Make 来做这件事,这对管理员来说有点不合常理!:D