浅谈FTP 与 LFTP 的 nlist 和 mget 功能
最近因为业务需要,与第三方数据厂商做数据对接,接口方式协定为 FTP传输 ,说说我过程中的dan teng 经历。
开始准备用 lftp mirror 的方式镜像的方式同步数据,由于对方提供的日志文件超级大(一个小时100G),且对方接口本地保存了2天的数据,mirror 镜像太牺牲本地磁盘空间了(PS:mirror 貌似可以设置参数-x RX 忽略部分文件,由于项目时间比较近,楼主没有仔细研究,此楼不做详谈),后面果断采用mget 的方式按小时文件。
第一阶段:采用 ftp 的 nlist 和 mget 同步数据
ftp -n -i<<EOF
open ftp-ip
user username passwd
bin
nlist *${TIMESTAMP}* file_${TIMESTAMP}.log
mget *$TIMESTAMP*
bye
EOF
循环处理文件时,总会提示部分文件不存在,查看日志发现 nlist 获得的文件列表数量确实大于真正mget 下来的文件。开始一直以为是接口那边在mget 文件时已经删除了部分文件,此过程dan teng 了很久,最后发现 ftp 的mget 在同步大量文件时(600个文件以上)会有遗漏文件的bug,少量文件不会出现这种情况。
第二阶段 :后面改用lftp 的mget ,问题解决,部分代码如下
lftp user:passwd@ip <<EOF
mget *$TIMESTAMP*
bye
EOF
注:lftp 没有nlist 函数,需要的话可以 mget 后 本地 find 文件列表,效果一样
浅谈FTP 与 LFTP 的 nlist 和 mget 功能的更多相关文章
- 浅谈 FTP、FTPS 与 SFTP
无论是网盘还是云存储,上传都是一项很简单的操作.那些便捷好用的上传整理工具所用的 FTP 协议到底是什么意义,繁杂的模式又有何区别? 二狗子最近搭建了一个图片分享网站,每天都有好多人在他的网站上传许多 ...
- 浅谈 URI 及其转义
URI URI,全称是 Uniform Resource Identifiers,即统一资源标识符,用于在互联网上标识一个资源,比如 https://www.upyun.com/products/cd ...
- 【WebApi系列】浅谈HTTP
[01]浅谈HTTP在WebApi开发中的运用 [02]聊聊WebApi体系结构 [03]详解WebApi如何传递参数 [04]详解WebApi测试和PostMan [05]浅谈WebApi Core ...
- Linux的文本处理工具浅谈-awk sed grep
Linux的文本处理工具浅谈 awk 老大 [功能说明] 用于文本处理的语言(取行,过滤),支持正则 NR代表行数,$n取某一列,$NF最后一列 NR==20,NR==30 从20行到30行 FS ...
- 【WebApi系列】浅谈HTTP在WebApi开发中的运用
WebApi系列文章 [01]浅谈HTTP在WebApi开发中的运用 [02]聊聊WebApi体系结构 [03]详解WebApi参数的传递 [04]详解WebApi测试和PostMan [05]浅谈W ...
- linux安全加固浅谈
难易程度:★★★阅读点:linux;python;web安全;文章作者:xiaoye文章来源:i春秋关键字:网络渗透技术 前言linux被越来越多的企业使用,因此掌握一些基本的linux安全加固是有必 ...
- 浅谈XXE漏洞攻击与防御——本质上就是注入,盗取数据用
浅谈XXE漏洞攻击与防御 from:https://thief.one/2017/06/20/1/ XML基础 在介绍xxe漏洞前,先学习温顾一下XML的基础知识.XML被设计为传输和存储数据,其焦点 ...
- ref:浅谈XXE漏洞攻击与防御
ref:https://thief.one/2017/06/20/1/ 浅谈XXE漏洞攻击与防御 发表于 2017-06-20 | 分类于 web安全 | 热度 3189 ℃ 你会挽着我 ...
- 浅谈 Fragment 生命周期
版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Fragment 文中如有纰漏,欢迎大家留言指出. Fragment 是在 Android 3.0 中 ...
随机推荐
- C++ map的遍历
一般使用迭代器遍历比较方便. map<string,int> m; map<string,int>::iterator it; it = m.begin(); while(it ...
- 自定义Spring Security权限控制管理(实战篇)
上篇<话说Spring Security权限管理(源码)>介绍了Spring Security权限控制管理的源码及实现,然而某些情况下,它默认的实现并不能满足我们项目的实际需求,有时候需要 ...
- UITabBarController
Normal 0 10 pt 0 2 false false false EN-US ZH-CN X-NONE $([{£¥·‘“〈<「『[[[〝﹙﹛﹝$(.[{£¥ !%),.:;>?] ...
- sql数据库获取表名称和表列名
select * from sysobjects where xtype='u' SELECT COLUMN_NAME,DATA_TYPE FROM INFORMATION_SCHEMA.column ...
- Apache与nginx优缺点对比
1.nginx相对于Apache优点: nginx轻量级,同样起web服务,比apache占用更少的内存资源: 抗并发,nginx处理请求是异步非阻塞型的,Apache处理请求是阻塞型的,所以在处理高 ...
- IE9,10中console对象的bug
首先上一段很简单的代码 <!DOCTYPE html> <html> <head> <title></title> <meta htt ...
- [转载] 百度上传&下载脚本
下载百度网盘中的文件,最简单的办法是使用wget命令.找到百度网盘文件,点击下载,然后找到相应的下载地址,复制链接地址即可.但这种方法有一个bug,因为百度云网盘访问文件的链接地址是动态的,当文件比较 ...
- JAVA字符串的相关练习
/*String s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";//生成随机验证码 fo ...
- ReportingService报表入门
今天我们来学习一下ReportingService报表的制作. ReportingService是微软提供的一个制作报表的工具,它集成在Microsoft Visual Studio中. 启动Visu ...
- 更改星级评分条 RatingBar 的样式
1.首先在布局中引用星级评分条: <RatingBar android:id="@+id/room_ratingbar" styl ...