首先,我不是networking训练有素的专业人士,也不了解这方面的知识。 我有一些关于GNU / Linux,Shell脚本的知识。 有一天,我想将一个大的压缩文件复制到我实验室的一组计算机上,并且在那里做一些其他的任务。 我为我的系统使用DHCP。
寻找最好的方法来做到这一点。
对不起,如果这个问题不属于这里或完全是废话。
在以下系统之间完成文件复制/传输有多种方式:
这涉及到系统上安装的内容以及各种选项的舒适程度。 如果一对多复制情况足够频繁地出现以考虑这些技术/解决scheme,则存在“多播”选项。
Func是一个很好的工具,可以将文件复制到多台机器上,也可以在RedHat和社区开发的多台机器上执行命令。 非常适合pipe理服务器群集等。但是我不确定它是否可以完美地与DHCP协同工作,您需要签署authentication来与客户进行通信,但是如果它符合您的需求
http + wget FTW。
在一台中央主机上build立一个Web服务器,然后使用wget下载文件。
面料似乎是你的解决scheme:
Unix上的标准方法曾经是rdist ,现在在大多数版本库中仍然可用。 然而今天的问题是我们使用SSH而不是RSH,因此密钥和密码的pipe理可能会更加不方便。
创build一个你的目标服务器的列表,例如list.txt :
ip1 port1 username1 password1 ip2 port2 username2 password2 ...
创build一个shell脚本scp.sh如下所示:
#!/bin/bash while read line; do ip=`echo $line | awk '{ print $1 }'` port=`echo $line | awk '{ print $2 }'` user=`echo $line | awk '{ print $3 }'` password=`echo $line | awk '{print $4 }'` echo $password | sshpass scp -P $port /your/zipped/file $user@$ip:/path/to/somewhere/ done < list.txt
使其可执行并运行:
chmod +x scp.sh ./scp.sh
如果你以后需要做同样的任务,我会build议安装ssh公共密钥authentication, 并且和pssh 并行 ,例如:
cat list.txt ip1:port1 username1 ip2:port2 username2 ... pscp -h list.txt /your/zipped/file /path/to/somewhere