如何将可执行文件复制到任意数量的主机并使其在所有主机上运行?将此 .exe 发送到 20 台主机。
尝试将文件放入 /tmp 目录。建立实验室并尝试实践部署。
有任何想法吗?
答案1
这是我用来分发 shell 配置文件的脚本;它很容易适应。
#!/bin/sh
# copy selected files to other machines
FILES=".cshrc .login .profile"
HOSTS="kipling khan nag smith wolf"
h=${HOSTS}
if [ $1x != x ] ; then
h=$1
fi
for i in $h ; do
echo ${i}:
for f in ${FILES}; do
(cd ~; scp ${f} ${i}:.)
done
done
显然,您可以根据需要更改精确的来源和目的地。请注意,如果给定一个参数,则文件将发送到该指定主机。使用:
FILES=$(cat file-containing-list-of-files)
如果您想将该列表放在文件中,请将其与脚本分离。这同样适用于主机列表。
这些天,我可能会使用rsync
而不是scp
因为它会保留文件模式等。