多服务器scp文件

来源:互联网 发布:岁月如歌歌词含义 知乎 编辑:程序博客网 时间:2024/06/14 06:52

有时候需要在多个服务器scp多个文件,一个个登录很繁琐,写个脚本来搞。

前提,先做ssh的证书登录。用ssh-keygen和ssh-copy-id,这个查阅其他文档,或者自己摸索一下也不难。我不久前也写过一个,和这个类似的。


#!/bin/bashSLEEPTIME=5SVR_ALL="172.41.17.127 172.41.17.128 172.41.17.129 172.41.17.130 172.41.17.131 172.41.17.132 172.41.17.135 172.41.17.136 172.41.17.184 172.41.17.185"SVR_OTHER="172.41.17.127 172.41.17.128 172.41.17.129 172.41.17.130 172.41.17.131 172.41.17.132 172.41.17.135 172.41.17.184 172.41.17.185"yourlist=$1source=$2target=$3if [ "$yourlist" == "" -o "$source" == "" -o "$target" == "" ]; then  echo scp_multi.sh server_list source target  echo input server ip you want to deploy. saparated by ,  echo or input ALL,OTHER to deploy all server.  echo all server list: $SVR_LIST  exit -1elif [ "$yourlist" == "ALL" ];then  SVR_LIST=$SVR_ALLelif [ "$yourlist" == "OTHER" ];then  SVR_LIST=$SVR_OTHERelse    SVR_LIST=`echo $yourlist | awk -F "," '{for (i=1;i <= NF ;i++){print $i}}'`fiecho input server list : $SVR_LIST  echo will scp \"$source\" to $SVR_LIST \"$target\"sleep 5for server in $SVR_LIST;do  echo scp $source $server:$target  scp $source $server:$targetdoneecho done all!



0 0
原创粉丝点击