记一次FTP下载踩坑的故(shi)事(gu)
下班前领导忽然要求我将客户的日志服务器上一些日志拷贝到测试服务器中,不过领导只提供给我FTP的连接方式,很明显就是要我用FTP方式去做啦
一般来说FTP批量下载也就上网随便找个脚本的事,但是却成了我疯狂踩坑的开始
1、mget命令完全不能用
首先,为了保证命令是可以正常执行的,我们先连接FTP服务器,并跳转到某个文件夹下,执行以下命令:
mget *
一般来说,这时候弹出下载提示只需要回车即可下载,然而我这次却深深的感觉到了这个命令的恶意
mget -rwxr-xr-x 1 user group 154519 Jan 02 07:30 20190101180001.txt?
227 Entering Passive Mode(192,168,24,158,7,170).
550 "/log/2019/01/-rwxr-xr-x 1 user group 154519 Jan 02 07:30 20190101180001.txt": Directory not found.
excuse me?
为什么你的文件路径会在文件名前出现文件属性???
我就不信邪了,既然都是txt格式保存的日志那我就只取.txt的,我就不信还有问题
ftp> mget *.txt
"/log/2019/01/*.txt": Directory not found.
卧槽,别这么打脸好吧!难道是FTP服务器挂了?于是用get命令试了一下,然而...
ftp> get 20190131160001.txt
local: 20190131160001.txt remote: 20190131160001.txt
227 Entering Passive Mode(192,168,24,158,18,227).
150 Opening BINARY mode data connection for file transfer.
226 Transfer complete.
1540 bytes received in 2.39 secs (0.65 Kbytes/sec)
很明显,FTP服务器没有任何问题,get命令可以执行,mget出错是什么鬼
行行行,你赢了,mget不行我换个方式可以了吧。
2.wget下载失败
既然mget有问题,那我们就换一个方法,但是curl不支持递归下载,那我们就选择常见的wget来吧
[root@localhost ~]# wget ftp://user:PASSWORD@192.168.24.158/log/2019/02/20190201180001.txt
--2019-02-27 15:37:42-- ftp://user:*password*@192.168.24.158/log/2019/02/20190201180001.txt
Connecting to 192.168.1.1:8080... connected.
Proxy request sent, awaiting response...
看起来好像没问题了,响应可能需要一点时间吧,等等就好了(于是等到了地老天荒)
还等啥啊!局域网响应哪有这么久的!
3.虚拟机执行以上命令,找到原因
以上两个常用方法都失败了,那会不会是网络问题呢?于是我到我自己的虚拟机上执行这这几条命令,结果mget得到的结果是一样的,但wget却可以成功下载。
那么问题就很明显了,mget获取文件名的时候,十有八九是FTP服务器将文件属性和文件名合并成一个字符串发送到客户端,所以会出现前面的问题,要是有哪个大佬知道这个问题的原因或者解决方法的话麻烦留个言。
那么wegt失败的原因是什么呢?
仔细观察响应信息之后,我才忽然注意到怎么wget的时候把192.168.1.1作为代理服务器了,让我一度以为是被网关给拦截了,于是加上了参数--no-proxy
wget -r -nH --proxy=none ftp://user:PASSWORD@192.168.24.158/log/2019/02/*
哇,终于下载成功了,是哪个混蛋设置了默认代理,还代理到网关去了!
记一次FTP下载踩坑的故(shi)事(gu)的更多相关文章
- 记一次kubernetes驱逐踩坑
最近在公司的线上服务器上发现了一个现象: 将某个node的kubelet短暂的停掉之后,其上的pod马上会被驱逐,这让笔者大吃一惊,印象之中,停掉kubelet后,该node会变为NotReady状态 ...
- 记一次pm2的踩坑
1.问题: 公司采用了自动发布平台,最近突然发现一个问题,上线完成后服务是能正常访问的,但是有一个节点访问的时候每两次中总是有一次404,通过nginx的access日志分析发现第一次正常访问有一次g ...
- 记一次ftp服务器搭建走过的坑
记一次ftp服务器搭建走过的坑 1.安装 ①下载 wget https://security.appspot.com/downloads/vsftpd-3.0.3.tar.gz #要FQ ②解压 ta ...
- windows container 踩坑记
windows container 踩坑记 Intro 我们有一些服务是 dotnet framework 的,不能直接跑在 docker linux container 下面,最近一直在折腾把它部署 ...
- 十年老苹果(A1286)强升Catalina及Win10踩坑记(续)
背景 自上次发布十年老苹果(A1286)强升Catalina及Win10踩坑记以来,因为后半部分-----系统安装上的细节描述过于简略,一些朋友在安装过程中总是又遇到坑,由此特意详述这一过程,让园友少 ...
- WinUI 3 踩坑记:从创建项目到发布
本文是 WinUI 3 踩坑记 的一部分,该系列发布于 GitHub@Scighost/WinUI3Keng,若内容出现冲突以 GitHub 上的为准. 创建项目 现在 WinUI 3 的入门体验比刚 ...
- Spark踩坑记——Spark Streaming+Kafka
[TOC] 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark strea ...
- Spark踩坑记——数据库(Hbase+Mysql)
[TOC] 前言 在使用Spark Streaming的过程中对于计算产生结果的进行持久化时,我们往往需要操作数据库,去统计或者改变一些值.最近一个实时消费者处理任务,在使用spark streami ...
- 记jQuery.fn.show的一次踩坑和问题排查
最近很少已经很少用jQuery,因为主攻移动端,常用Zepto,其实很多细节和jQuery并不一样.最近又无意中接触到了PC的需求和IE6, 使用了jQuery,刚好踩坑了,特意记录一下. 本文内容如 ...
随机推荐
- Jquery load()加载GB2312页面时出现乱码的解决方法
问题描述:jquery的字符集是utf-8,load方法加载完GB2312编码静态页面后,出现中文乱码. a.php <script language="javascript" ...
- C#之Clone
因为类的实例是引用类型,要想用原有的类中的实例的数据的话,既要想创建原对象的一个副本的话,只能用clone方法. Clone方法分为深clone和浅clone 在C#中提供了浅clone的方法,即为M ...
- Entity Framework中IQueryable, IEnumerable, IList的区别[转]
使用工具追踪EF生成的SQL 使用Entity Framework等ORM框架的时候,SQL对于使用者来说是透明的,往往很多人也不关心ORM所生成的SQL,然而系统出现性能问题的时候就必须关注生成的S ...
- 移动web基础
接触retina屏 基础知识(移动Web的基础知识)排版布局(高效的移动Web布局)开发效率终端交互优化 pixel像素基础viewport视图viewport_meta标签viewport_codi ...
- Appium 滑动界面swipe用法
Appium 滑动API:Swipe(int start x,int start y,int end x,int y,duration) 解释:int start x-开始滑动的x坐标, int st ...
- Struts1.x 基本原理及注册模块的实现
1.编写JavaBean:User,必须继承于ActionForm类 package myuser; import org.apache.struts.action.ActionForm; publi ...
- ZIP文件压缩和解压
最近要做一个文件交互,上传和下载, 都是zip压缩文件,所以研究了下,写了如下的示例 注意引用 ICSharpCode.SharpZipLib.dll 文件 该dll文件可以到官方网站去下载, 我这 ...
- Active Directory域服务备份
此篇介绍如何通过Windows Server Backup工具备份Active Directory域服务 AD 域系统状态 在域控制器上,系统状态通常包括以下内容,但所包含的数据实际上取决于服务器上安 ...
- 酷狗音乐PC端怎么使用听歌识曲功能?
生活中很多时候会听到一些美妙的音乐,耳熟或者动听却不知道它的名字.就像第一眼看到你心动的那个她却不知她叫什么.移动端有酷狗音乐的听歌识曲.现在PC端也有了相同的功能,每当我们看到一部精彩影视剧听到美妙 ...
- VirtualBox虚拟机 host/guest 拷贝粘贴,共享剪贴板,安装guest additions
Oracle VirtualBox 虚拟机,为了在主机.从机间拷贝文件,共享剪贴板,需要进行设置,以及安装guest additions软件 测试环境 host: windows 7 professi ...