scp批量自动远程复制脚本不需要输入密码
来源:互联网 发布:隐马尔可夫 python 编辑:程序博客网 时间:2024/05/29 08:39
在工作中,经常会遇到远程复制的情况,使用scp命令就可以实现远程复制。但是每次执行scp都需要输入密码,所以并不是很方便。今天就给大家分享一个可以批量自动执行scp命令的脚本,大家可以根据需要修改,来使自己的工作更加方便。
本脚本主要使用的是expect脚本。expect用于自动化地执行linux环境下的命令行交互任务,例如scp、ssh之类需要用户手动输入密码然后确认的任务。有了这个工具,定义在scp过程中可能遇到的情况,然后编写相应的处理语句,就可以自动地完成scp操作了。关于此命令的详细使用我会再以后的文章中介绍,今天主要来介绍下它的一个简单应用–自动批量远程复制功能。
核心代码
首先将scp命令封装在一个脚本中,其代码如下:命名为scp.sh#!/usr/bin/expect
##############################################
#!/usr/bin/expect################################################Date : 2016-01-11##Author: waitig.com##Ver : V1.0##Des : scp脚本###############################################set timeout 10#使用说明#scp.sh 源路径 目标用户名 目标密码 目标ip 目标路径#[lrange $argv 1 1]表示从bash中获取参数,从1到1的形式,和[lindex $argv n],n从0开始,分别表示第一个,第二个,第三个....参数的区别
set user [lrange $argv 1 1]set pwd [lrange $argv 2 2]set srcpath [lrange $argv 0 0]set tarpath [lrange $argv 4 4]set ip [lrange $argv 3 3]if { $argc != 5 } {puts "请输入正确的参数"puts "正确格式:scp.sh 源路径 目标用户名 目标密码 目标ip 目标路径"exit 1}spawn scp $srcpath $user@$ip:$tarpathexpect { "yes/no" {send "yes\r";exp_continue} "password:" {send "$pwd\r"}}puts "scp $srcpath $user@$ip:$tarpath"expect "100%"
调用脚本
利用上面的脚本,外层在根据需要封装一层调用脚本,即可实现远程自动复制功能。
#!/usr/bin/bash################################################Date : 2016-01-11##Author: Liu Shuai##Ver : V1.0##Des : 批量自动部署###############################################USR="test"PWD="test"SRCPATH="/test/"TARPATH="/test/"for((i=86;i<92;i++));do./scp.sh ${SRCPATH} ${USR} ${PWD} 192.168.9.${i} ${TARPATH}done
阅读全文
0 0
- scp批量自动远程复制脚本不需要输入密码
- scp 远程拷贝不需要输入密码
- SCP不需要输入密码的sh脚本
- ubuntu下scp批量拷贝文件不需要输入密码
- Linux scp复制文件,不需要输入密码的技巧
- Linux scp复制文件,不需要输入密码的技巧
- Linux scp复制文件,不需要输入密码的技巧
- 远程复制文件(自动输入密码)
- scp远程无密码复制
- 如何在脚本中执行scp时自动输入密码
- ssh/scp不需要输入密码的方法
- scp自动交互输入密码
- ssh 用 scp 命令 后台传输文件 ,不需要输入密码
- SCP命令拷贝到另一台服务器不需要输入密码
- scp远程上传文件自动填写密码
- 第三步 使用scp远程拷贝,自动输入用户名和密码
- linux 下采用scp远程传送文件,采用expect技术,支持自动输入密码
- 利用scp自动输入密码进行文件远程拷贝或备份
- Ubuntu设置root密码
- opnet常见问题
- 使用nginx配置虚拟主机
- my 1st .md
- 重写了equals()为什么要重写hashCode()方法
- scp批量自动远程复制脚本不需要输入密码
- java websocket原理及其简易实现
- iOS静态库开发中对Bitcode的支持
- PHP基础之数组3
- OpenCV 3.3使用CMake 3.9.2和Visual Studio 2017配置win7 32位系统的开发环境
- IOS之静态库
- 祭天时不同程序员的不同杀法
- 基于任意加密货币的用户身份认证设计思路
- java注解小结