Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
写shell脚本将一个文件复制到多个服务器_Shell_Maven_Jenkins_Devops_Puppet Enterprise - Fatal编程技术网

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

写shell脚本将一个文件复制到多个服务器,shell,maven,jenkins,devops,puppet-enterprise,Shell,Maven,Jenkins,Devops,Puppet Enterprise,我正在google中搜索,但找不到。我想要一个成功的shell脚本并使用for循环。大多数情况下,搜索这些内容都失败。您可以使用两个脚本: 1服务器列表,它可以包含一个目标主机名列表,每个主机名位于新行上。 2一个复制脚本,基本上可以对上面的服务器列表进行cat,然后执行scp命令为相同的服务器复制文件。如果每个应用程序的服务器列表不同,它也可以接受参数。以下是一个示例: Usage() { echo "Usage: $0 [-a application] [-l level]"

我正在google中搜索,但找不到。我想要一个成功的shell脚本并使用for循环。大多数情况下,搜索这些内容都失败。

您可以使用两个脚本: 1服务器列表,它可以包含一个目标主机名列表,每个主机名位于新行上。 2一个复制脚本,基本上可以对上面的服务器列表进行cat,然后执行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