linux 批量scp 脚本

scp.sh

#!/bin/sh
ip_list=/home/tools/scp/iplist
src_file=/home/probecheck.sh
dest_file=/home/
username=root
password=123456
cat $ip_list | while read line
do
   host_ip=`echo $line | awk ‘{print $1}‘`
   echo "$host_ip"
   ./scp.exp $host_ip $username $password $src_file $dest_file
done

scp.exp

#!/usr/bin/expect
set timeout 10
set host [lindex $argv 0]
set username [lindex $argv 1]
set password [lindex $argv 2]
set src_file [lindex $argv 3]
set dest_file [lindex $argv 4]
spawn scp $src_file [email protected]$host:$dest_file
 expect {
 "(yes/no)?"
  {
   send "yes\n"
   expect "*assword:" {send "$password\n"}
  }
   "*assword:"
  {
    send "$password\n"
  }
  }
  expect "100%"
  expect eof

原文地址:https://www.cnblogs.com/xl-892694298/p/11018841.html

时间: 2024-11-10 12:51:44

linux 批量scp 脚本的相关文章

expect批量scp脚本

实验环境 1. 本地主机 192.168.1.17 2. 远程主机 192.168.1.18 192.168.1.19 实验目标 使用expect非交互式脚本与scp命令结合,实现scp批量传输本地文件到远程主机. 脚本注意事项 1. 确保本地主机已安装expect 2. 目标主机非第一次登陆,scp时,不需要输入"yes" 3. 注意列表文件与变量的顺序 #################################################################

Linux批量ping脚本

根据鸟哥的ping脚本,我重新修改了一下.用到的知识有:read.Linux按行读取.shell输出效果调整等 其中Linux按行读取文件比较重要,可参看文下链接 1 脚本功能: 批量ping当前路径下文件里面的ip地址,ip地址必须一行行填写 2 注意: 请根据提示运行脚本,确保脚本有执行权限,不能在window上运行 #!/bin/bash # Program # Use ping command to check the network's PC state. # History # 20

Linux系统批量配置脚本

系统批量配置脚本使用手册 使用要求 linux操作系统(RHEL,kylin,凝思磐石均可用) 本地计算机expect命令可用 ssh.scp命令可用 脚本组成及功能说明 引导脚本 - config.sh 该脚本会引导整个脚本组合的执行,提示用户输入远程计算机IP地址(范围)及root密码. 系统配置脚本 - sysinfo-collect.sh 该脚本中可以自行定制需要在远程计算机上执行的命令,配合引导脚本及响应脚本使用,可以完成的任务有: 在远程计算机批量执行命令: 修改远程计算机配置文件:

转自ruby迷: 使用Net::SSH和Net::SCP编写Linux服务器管理脚本

试了一下perl下安装ssh模块,整了半天linux/window上都装不上,各依赖模块的版本总是匹配不上,后改了一下思路,用ruby吧 Net::SSH和Net::SCP是两个Ruby操作SSH的gem包.Net::SSH相当于cmd,专门用于执行命令:Net::SCP专门用于传输文件.它们俩结合,可以做任何SSH client能做的事情. 安装: gem install net-ssh gem install net-scp 以下所有代码都引用这段代码 require 'net/ssh' r

Linux常用Shell脚本

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

Linux系统shell脚本编程——生产实战案例

Linux系统shell脚本编程--生产实战案例     在日常的生产环境中,可能会遇到需要批量检查内网目前在线的主机IP地址有哪些,还可能需要检查这些在线的主机哪些端口是开放状态,因此依靠手工来检查是可以实现,但比较费时费力,所以需要结合shell脚本来实现批量检查的功能,那么今天就来做个小小的实验. 1.开发脚本前准备 一般大家都知道,测试主机是否在线,常用的命令无非就是ping.nmap,因此,首先找一个地址来测试下ping命令的效果 [[email protected] scripts]

[Linux] 批量转换整个目录下的文件编码为UTF-8;

[Linux] 批量转换整个目录下的文件编码为UTF-8: #!/bin/bash - #===============================================================================# #          FILE: conv.sh#  #         USAGE: ./conv.sh #  #   DESCRIPTION: 一个支持把整个目录递归转换GB2312为UTF-8的脚本: #  #       OPTIONS: 

Linux批量管理服务器小工具--PSSH

Linux批量管理服务器小工具--PSSH 一.简介 pssh -- parallel ssh program pssh  is  a program for executing ssh in parallel on a number of hosts.  It provides features such as sending input to all of the processes, passing a password to ssh, saving output to files, an

kickstart批量装机脚本

#!/bin/bash #安装必备的软件 yum -y install dhcp tftp-server tftp xinetd syslinux vsftpd yum -y install *kickstart* #配置kickstart服务器端的DHCP服务 >/etc/dhcpd.conf ############################################################# cat> /etc/dhcpd.conf<<EOF ddns-u