编写shell脚本将一个文件复制到多个服务器

时间:2017-07-19 15:38:56

标签: shell maven jenkins devops puppet-enterprise

我正在谷歌搜索,但我无法找到。我想要一个成功的shell脚本并使用for循环。大多数案例都无法搜索这些东西。enter image description here

1 个答案:

答案 0 :(得分:0)

你可以使用两个脚本: 1.服务器列表,它可以包含新行上每个目标主机名列表。 2.一个复制脚本,它基本上可以捕获上面的服务器列表,然后执行scp命令来复制相同的文件。如果每个应用程序的服务器列表不同,它也可以接受参数。以下是一个示例:

Usage()
{
    echo "Usage: $0 [-a application] [-l level]"
    echo " where application = {a, b, c , d }"
    exit 1;
}   
SERVER_LIST=a.txt

for HOST in `cat $SERVER_LIST | grep -v ^# | cut -d: -f2`
do 
spawn /usr/bin/scp FILE user@$HOST:destinationDirectory
expect {
"*password:*" { send $PASSWORD\r;interact }
}
exit
"
done