首页 > 其他分享 >使用脚本向SFTP服务器传输文件

使用脚本向SFTP服务器传输文件

时间:2024-08-31 14:50:08浏览次数:8  
标签:set send argv sftp 传输 expect lindex 服务器 SFTP

摘自:https://blog.csdn.net/qq_45882426/article/details/138275975

 

#!/usr/bin/expect -f 
 
set timeout 60
set ipaddr [lindex $argv 0]
set username [lindex $argv 1]
set passwd [lindex $argv 2]
set lcdirname [lindex $argv 3]
set dirname [lindex $argv 4]
set putcmd [lindex $argv 5]
set fname [lindex $argv 6]
#set portno [lindex $argv 7]
 
 
spawn sftp -oPort=22 $username@$ipaddr
expect {
   "(yes/no)?" {send "yes\r"; expect_continue}
    "password:" {send "$passwd\r" }
}
expect "sftp>"
send "lcd $lcdirname\r"
expect "sftp>"
send "cd $dirname\r"
expect "sftp>"
send "$putcmd $fname\r"
expect "sftp>"
send "bye\r"
expect eof

将上述代码复制到空白的一个文件里,将文件改名为:uploadFile.sh

赋权 chmod 777 uploadFile.sh

执行命令解释:

./uploadFile.sh sftp服务器IP sftp账号 sftp密码 本地需要上传文件的路径 sftp服务器账号权限下的路径 执行命令 上传文件名

示例:当前可执行文件uploadFile.sh同目录下存在一个1.txt的文件,将其上传到sftp的 /shared目录下。账号为:sftpuser,密码:123456

执行命令1:./uploadFile.sh 172.20.xxx.xxx sftpuser 123456 ./ /shared put 1.txt

sftp端口号是默认为22在文件中已经写死。可以将注释放开,如下图所示,并使用命令传入端口号参数

执行命令2:./uploadFile.sh 172.20.xxx.xxx sftpuser 123456 ./ /shared put 1.txt 22

 

 

标签:set,send,argv,sftp,传输,expect,lindex,服务器,SFTP
From: https://www.cnblogs.com/LiuYanYGZ/p/18390269

相关文章

  • 代码实现高性能分布式云服务器性能监测系统
    Python代码实现高性能分布式云服务器性能监测系统数据收集模块(Agent)在每个服务器节点上运行,收集性能数据。importpsutilimporttimeimportsocketimportjsonclassPerformanceAgent:def__init__(self,server_ip,server_port):self.server_ip=server_......
  • 【网络编程通关之路】 Tcp 基础回显服务器(Java实现)及保姆式知识原理详解 ! ! !
    本篇会加入个人的所谓鱼式疯言❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言而是理解过并总结出来通俗易懂的大白话,小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.......
  • Broker服务器模块
    一.Broker模块介绍二.Broker模块具体实现1.类的成员变量与构造函数成员变量事件循环和TCP服务器:muduo::net::EventLoop_baseloop;muduo::net::TcpServer_server;这些是muduo库提供的核心组件,负责处理网络事件和管理TCP连接。消息分发和编码:muduo::net::Protobuf......
  • 基于live555开发的多线程RTSPServer轻量级流媒体服务器EasyRTSPServer开源代码及其调
    EasyRTSPServer参考live555testProg中的testOnDemandRTSPServer示例程序,将一个live555testOnDemandRTSPServer封装在一个类中,例如,我们称为ClassEasyRTSPServer,在EasyRTSPServer_Create接口调用时,我们新建一个EasyRTSPServer对象,再通过调用EasyRTSPServer_Startup接口,将EasyRTSP......
  • 一个linux服务器安装多个java版本,如何选择指定的 java版本去执行
    linux中有时候可能你由于不同的项目需要使用不同版本的javajdk部署,你就需要在你的linux服务中安装很多个版本的javajdk,那么在linux中如何安装和使用不同版本的javajdk呢?1.安装第一个javajdk版本:到java官网下载一个javajdk版本,并解压,然后配置环境变量。javajdk地址:wge......
  • nginx服务器如何配置ssl证书演示
    nginx服务器如何配置ssl证书,配置代码如下:server{#listen80default_server;listen443;#listen[::]:80default_serveripv6only=on;server_name你的域名;indexindex.phpindex.htmlindex.htm;root/mnt/te......
  • 服务器数据恢复—异常断电导致ESXI主机共享存储中raid6阵列崩溃的数据恢复案例
    服务器存储数据恢复环境:一台存储中有一组由12块SAS硬盘组建的raid6磁盘阵列,划分了1个卷,由数台VmwareESXI主机共享存储。卷中存放了大量的Windows系统虚拟机。这些虚拟机系统盘大小一致,数据盘大小不确定,数据盘都是精简模式。服务器存储故障:机房异常断电导致存储瘫痪,加电后存储依......
  • 使用devpi-server搭建pypi本地缓存服务器
    使用缓存机制可以显著减少对外部源的请求量,从而提高下载速度,并降低被源站封禁的风险。下面详细解释如何在本地服务器上设置和使用pip缓存机制。缓存机制的基本原理缓存机制的原理是在本地服务器上保存已经下载过的Python包,当其他服务器请求同样的包时,本地服务器可以直接提供,......
  • 私有云服务器虚拟化超分比及资源扩容管理
    本文分享自天翼云开发者社区《私有云服务器虚拟化超分比及资源扩容管理》,作者:7****m服务器虚拟化技术已商用多年,并已成为云计算产业发展的基石。私有云用户更是非常关注服务器虚拟化的超分比,因为直接影响到用户可用的虚机资源量。超分比技术介绍:服务器虚拟化超分比,就是控制宿主......
  • opc da 服务器数据 转IEC61850项目案例
    目录1 案例说明 12 VFBOX网关工作原理 13 应用条件 24 查看OPCDA服务器的相关参数 25 配置网关采集opcda数据 46 用IEC61850协议转发数据 67 网关使用多个逻辑设备和逻辑节点的方法 98 在服务器上运行仰科OPCDA采集软件 109 案例总结 121 案例说明在OPCDA服务器上......