美文网首页
expect实现sftp文件同步

expect实现sftp文件同步

作者: 朴本无名 | 来源:发表于2019-02-28 16:02 被阅读0次

工作中突然遇到一个问题:文件同步接口同步的数据不全。
现象如下(上图为ftp服务器,下图为本机):


ftp服务器.png
本机.png

对比分析发现,不是每天的数据都有问题,偶尔才会出现。
对脚本log日志进行分析


log.png
发现,第二个文件只完成了79%的下载。
深入代码分析,发现原因如下:
expect有默认响应(网查是30s),所以如果操作了30s的话,就会自动断开链接。
可以进行自定义设置如:

set timeout -1 //无穷大
set timeout 600 //600s
修改代码,上传一个大文件进行测试,完成100%同步,问题解决。

附录 (sftp同步脚本):

in/bash

export PATH=xx
LOG_FILE="/xx/info.log"
data=date +%Y%m%d

"{LOG_FILE}" exec &>>{LOG_FILE}

!/usr/bin/sh

/usr/bin/expect <<-EOF
set timeout 600
spawn sftp 用户名@IP
expect {
"(yes/no)?" {send "yes\r"; expect_continue}
"password:" {send "xx\r"}
}
expect "sftp>"
send "cd /zygljk/zygl_info/qcd_yf\r"
expect "sftp>"
send "lcd /oss/python/getContactInfo/hx\r"
expect "sftp>"

相关文章

  • expect实现sftp文件同步

    工作中突然遇到一个问题:文件同步接口同步的数据不全。现象如下(上图为ftp服务器,下图为本机): 对比分析发现,不...

  • expect + rsync文件同步

    下面的脚本来自http://blog.51cto.com/sofar/1638279 这个脚本最有意义的一点,就是...

  • Sublime的ftp远程同步

    远程同步太多了,例如下面: ftpSync sftp 下面使用sftp 使用 file -> SFTP/FTP -...

  • Linux自动登录脚本-expect

    有时候需要登录服务器做一些操作,或者想不登录服务器也可以实现文件同步,基于expect写了简单的脚本: 脚本 分发...

  • SFTP上传下载

    SFTP实现文件上传/下载功能maven依赖:com.jcraft 0.1.55commons-io 2.6 文件...

  • Atom Editor

    remote-sync 远程同步文件夹/文件, 适合远程调试, 不需要本地改完后手动上传使用scp/sftp, f...

  • sublime使用SFTP插件同步文件

    vi虽然是神器,但是用起来不熟悉的话配置和使用还是很蛋疼的,sublime是我用过很舒服的编辑器,通过SFTP可以...

  • SSH、SFTP、SCP-linux

    SSH(选项)(参数) 1.使用expect自动登录ssh 2.ssh保持长连接的方式 SFTP(选项)(参数) ...

  • sublime text SFTP 插件的配置与说明

    SFTP 插件配置说明 商业的SFTP /FTP 插件,上传,同步,浏览,远程编辑,差异和vcs 集成 主要作用 ...

  • Asianux Server 7 sftp与ssh分离

    分离SSH和SFTP服务 复制SSH相关文件,作为sftp的配置文件 修改 sftpd.service 文件,使用...

网友评论

      本文标题:expect实现sftp文件同步

      本文链接:https://www.haomeiwen.com/subject/qutkuqtx.html