工作中突然遇到一个问题:文件同步接口同步的数据不全。

现象如下(上图为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}

!/usr/bin/sh

/usr/bin/expect <

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>"

linux expect sftp,expect实现sftp文件同步相关推荐

  1. 实现linux多台服务器间目录文件同步

    由于平台要上负载均衡,后面有4个emc节点,每次更新系统都比较麻烦,所以这里记录一下收集到的一个看着靠谱的同步方案 出处:Linux中文件实时同步 - 刘新元 - 博客园 注意:看着靠谱,暂时没有实验 ...

  2. Linux下rsync设置+inotify设置文件同步

    rsync设置 一.安装rsync(一般系统自带) sudo apt-get install rsync 二.服务端配置 拷贝样例 sudo cp /usr/share/doc/rsync/examp ...

  3. 如何同步FTP服务器文件,ftp服务器文件同步

    ftp服务器文件同步 内容精选 换一换 安装完Mind Studio并进入相关工程页面后,如果用户使用算子工程或应用工程开发了相关程序,需要进行工程的编译和运行,用于生成相关二进制文件,进行工程编译前 ...

  4. Seafile开源文件同步和分享SAAS云盘

    Seafile - Open Source File Sync and Share Software 目录 简介 Seafile 特性 可靠的文件同步 挂载盘客户端 团队协作 高性能 Wiki 与知识 ...

  5. Linux环境编程(4)文件操作相关内容补充

    Linux环境编程(4) 文件同步: 1.在写入数据时内存与磁盘之间也有一个缓冲区,这种机制降低了磁盘读写次数,提高了读写的效率. 2.但这种机制带来的后果就是磁盘中的数据与实写入的数据不匹配,系统提 ...

  6. expect脚本同步文件、 expect脚本指定host和要同步的文件 、 构建文件分发系统 、批量远程执行命令...

    为什么80%的码农都做不了架构师?>>>    20.31 expect脚本同步文件 使用expect脚本同步文件 说明:核心命令是rsync #! /usr/bin/expect ...

  7. expect脚本同步文件,expect脚本指定host和要同步的文件,构建文件分发系统,批量远程执行命令...

    2019独角兽企业重金招聘Python工程师标准>>> expect脚本同步文件 更改权限 执行脚本 查看执行结果 expect eof需要加上,作用是等脚本命令执行完再进行退出 e ...

  8. linux使用shell脚本利用expect工具实现SCP传输文件到多台服务器

    1.安装expect yum install expect 2.设置服务器地址,用户名,密码,源路径,目标路径 新建文件host.txt添加如下内容 192.168.0.135 root 密码 源路径 ...

  9. linux怎么修改sftp默认端口,如何在 Linux 系统中如何更改 SFTP 端口

    SFTP(SSH文件传输协议)是一种安全文件协议,用于通过加密连接在两个主机之间传输文件. 它还允许您对远程文件执行各种文件操作并恢复文件传输. SFTP可以替代旧版FTP协议. 它具有FTP的所有功 ...

最新文章

  1. Can't create handler inside thread Thread that has not called Looper.prepare()
  2. java拍照搜题软件下载_拍照即可秒出答案,搜题类App:是教辅“神器”还是偷懒“神器”?...
  3. React学习(1)——JSX语法与React组件
  4. python中del和remove的区别_Python列表删除元素del、pop()和remove()的区别小结
  5. boost::hana::replace_if用法的测试程序
  6. r语言做绘制精美pcoa图_R语言统计与绘图:绘制QQ图
  7. 深度学习与TensorFlow:VGG论文复现
  8. mysql不对称复制数据_mysql UNION all 实现不对称数据统计
  9. c++并发编程基础(一):并发、并行域多线程
  10. 103. SPL 标志库
  11. nginx location 斜杠_斜杠青年 菲斯塔车主实录
  12. oracle数据库执行sql很慢
  13. js生成二维码并下载、批量生成二维码和压缩下载
  14. iphone 扩容测试软件,拯救iPhone 12 64G!闪迪打造的扩容神器上手:轻松省钱
  15. 《MySQL入门学习》(p61~p62)
  16. Win11的筛选键怎么关闭
  17. python-伪随机数生成器
  18. wishbone bus
  19. P3237 [HNOI2014]米特运输
  20. POJ 3009 Curling 2.0(深度优先搜索+剪枝)

热门文章

  1. VPP命令行:启动配置,HTTP服务,DPDK配置
  2. 国际C语言混乱代码大赛
  3. 《代码大全》程序员们怎样花费自己的时间
  4. 51单片机1602、18B20电子钟--C51源代码
  5. C语言printf控制光标位置和清空屏幕
  6. java中printreader类_Java基本字符流输入输出类的使用
  7. BioSPPy - Biosignal(生物信号处理库)
  8. java对PPG的基线漂移的一种处理办法(中值滤波)
  9. EasyUI的简单介绍
  10. mysql 转成树_Mysql树型结构2种方式及相互转换