haixin3036 发表于 2018-8-25 09:48:08

linux 批量scp自动上传文件的shell脚本

  脚本分为两个部分,一个是配置文件a.conf,一个是sh脚本。用户只要根据自己的需要,在a.conf中增加条目就可以了。
  大家很容易发现,这个脚本只需要修改scp中的目标地址和源地址对调,就变成批量服务器下载脚本了。使用于搜集日志,文件等。
  用了expect,运行这个脚本的系统中需要先yum install expect , 这个自动输入scp脚本的一般都是用这个。
  # cat a.conf
  目标IP       root密码端口    本地地址    目标地址
  192.168.10.91123.com22/root/readline   /home
  192.168.10.94   123.com 22      /home/       /home
  192.168.10.91   123.com 22      /home      /home
  # 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}'`
  passwd=`awk 'BEGIN {split("'"$line"'",arr);print arr}'`
  port=`awk 'BEGIN {split("'"$line"'",arr);print arr}'`
  local_dir=`awk 'BEGIN {split("'"$line"'",arr);print arr}'`
  goal_dir=`awk 'BEGIN {split("'"$line"'",arr);print arr}'`
  echo "正在处理第$i条任务"
  /usr/bin/expect
页: [1]
查看完整版本: linux 批量scp自动上传文件的shell脚本