我有 100 多个运行 ubuntu 的系统。我在其中一个系统中有一个配置文件,比如 172 。.10. 我可以从其他系统获取该配置文件,例如 172 .. .100 使用 wget?我已经安装了wget?我已经尝试了以下方法,但我无法获得该文件。有人可以帮忙吗?wget http://172.*.*.10/name.conf
我有 100 多个运行 ubuntu 的系统。我在其中一个系统中有一个配置文件,比如 172 。.10. 我可以从其他系统获取该配置文件,例如 172 .. .100 使用 wget?我已经安装了wget?我已经尝试了以下方法,但我无法获得该文件。有人可以帮忙吗?wget http://172.*.*.10/name.conf
scp
或者rsync
可能更适合从多台机器上抓取单个任意文件。但是,如果该单个文件是密码、远程安装配置或类似的系统管理功能,您应该使用专为集中管理而设计的网络信息系统 (NIS),以使所有 100 台机器看起来就像坐着的同一台机器在一个面前。
此处的解决方案将对您有所帮助,但是从长远来看,对于那么多计算机而言,“ssh in a for loop”最终会花费您的时间。您应该考虑使用像 puppet 这样的配置管理工具:
通过这种方式,您可以定义您希望 PC 的外观并自动对其进行配置。要获取有关所有节点的信息,请查看mcollective。
wget 只有在另一端运行 HTTP 服务器时才能下载任何内容。
由于您可以通过 ssh 批量运行命令,这可能会有所帮助:
这将在运行它的机器上启动一个网络服务器。然后,您可以使用从任何地方访问该文件
你需要做两件事:
sudo apt-get install apache2
.file.conf
到文件夹中/var/www
。您可能需要sudo
再次使用它:例如,sudo cp /path/to/your/file.conf /var/www/file.conf
.wget
可能不适用于通配符。一旦您的所有配置文件都可以访问,更好的解决方案是使用 shell 脚本执行类似的操作:#!/bin/bash
for i in {1..100}
do
wget "127.0.$i.1"
done
祝你好运!
出于这种目的,您可能需要查看版本控制系统,您可以从中“分支”或“签出”文件。不过,这可能会让人感到困惑。对于工具,也许看看config-manager之类的。以前我用 CVS+Make 来做这件事,这有点不合常理!:D
我推荐使用 Ubuntu One 来同步这些文件。
还有一个指南: https ://help.ubuntu.com/10.10/internet/C/networking-shares.html
但是用 wget 不能下载这个文件,因为 wget 使用 http 协议来下载文件。如果您的服务器上没有运行 apache,这是不可能的。但是,不要安装 apache 只是为了同步一些文件!
我希望这对你有所帮助,丹尼尔