linux根据文件日期批量scp,linux 批量scp自动上传文件的shell脚本

脚本分为两个部分,一个是配置文件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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值