1. 云栖社区>
  2. >
  3. 正文

shell多进程scp传文件的脚本

作者:用户 来源:互联网 时间:2016-09-15 15:17:59

密码服务器shell变量效率进程

shell多进程scp传文件的脚本 - 摘要: 本文讲的是shell多进程scp传文件的脚本,   昨天给大家了一个shell多进程并发,今天我们来看怎么同时批量在定义数量的服务器上执行相关命令,比起普通for/while循环只能顺序一条一条执行的效率高非常多,在管理大批服务器时非常的实用.以下脚本功能是通过scp(也可选r

  昨天给大家了一个shell多进程并发,今天我们来看怎么同时批量在定义数量的服务器上执行相关命令,比起普通for/while循环只能顺序一条一条执行的效率高非常多,在管理大批服务器时非常的实用.以下脚本功能是通过scp(也可选rsync)向上千台服务器传更新包,脚本运行后同时在后台有50个scp进程向服务器传包:

#!/bin/bash

ip=`cat iplist.txt|grep -v "#"|awk '{print $1}'`

dir='/usr/local/src'

answer="yes"     #定义yes/no应答变量

passwd="123456"  #服务器密码

thead_num=50

tmp_fifo_file="/tmp/$$.fifo"

mkfifo $tmp_fifo_file

exec 4<>$tmp_fifo_file

rm -f $tmp_fifo_file

for ((i=0;i<$thead_num;i++))

do

        echo ""

done >&4

for i in $ip

do

        read -u4

                {

                        expect <<EOF

                        set timeout -1

                        spawn scp -P 1000 $1 $i:$dir

                        expect "(yes/no)?" {

                        send "$answer\r"

                        expect "Password:"

                        send "$passwd\r"

                        } "Password:" {send "$passwd\r"} "*host" {exit 1}

                        expect eof

                        EOF

                       

                        sleep 3

                        echo "" >&4

                }&

done

wait

exec 4>&-

exit 0


更多的功能就要大家自己去发掘了.

 

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索密码 , 服务器 , shell , 变量 , 效率 进程 shell 多进程执行脚本、shell脚本多进程、scp shell脚本、shell脚本实现scp、shell脚本执行scp,以便于您获取更多的相关知识。

弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一

云服务器9.9元/月,大学必备