脚本分为两个部分,一个是配置文件a.conf,一个是sh脚本。用户只要根据自己的需要,在a.conf中增加条目就可以了。

大家很容易发现,这个脚本只需要修改scp中的目标地址和源地址对调,就变成批量服务器下载脚本了。使用于搜集日志,文件等。

用了expect,运行这个脚本的系统中需要先yum install expect , 这个自动输入scp脚本的一般都是用这个。

[root@szyumserver readline]# cat a.conf

目标IP       root密码  端口    本地地址    目标地址

192.168.10.91  123.com  22  /root/readline   /home

192.168.10.94   123.com 22      /home/       /home

192.168.10.91   123.com 22      /home      /home

[root@szyumserver readline]# cat multi-upload.sh

#!/bin/bash

#配置文件务必按照要求严格填写  IP     root密码  端口  本地文件绝对路径   目标地点绝对路径

i=0

cat a.conf|while read line; do

let i+=1

ip=`awk 'BEGIN {split("'"$line"'",arr);print arr[1]}'`

passwd=`awk 'BEGIN {split("'"$line"'",arr);print arr[2]}'`

port=`awk 'BEGIN {split("'"$line"'",arr);print arr[3]}'`

local_dir=`awk 'BEGIN {split("'"$line"'",arr);print arr[4]}'`

goal_dir=`awk 'BEGIN {split("'"$line"'",arr);print arr[5]}'`

echo "正在处理第$i条任务"

/usr/bin/expect <

set time 300

spawn scp  -r -p$port $local_dir root@$ip:$goal_dir

expect {

"*yes/no" { send "yes\r"; exp_continue }

"*password:" { send "$passwd\r" }

}

set timeout 500

expect eof

EOF

done

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐