首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用lftp上传到ftp站点获得501不足的磁盘空间。

使用lftp上传到ftp站点获得501不足的磁盘空间。
EN

Stack Overflow用户
提问于 2016-03-18 18:07:10
回答 1查看 766关注 0票数 0

我刚开始使用ftp,最近我遇到了这种非常有线的情况。

我试图将一个文件上传到其他人的ftp站点,然后尝试使用以下命令

代码语言:javascript
复制
lftp -e "set ftp:passive-mode true; put /dir/to/myfile -o dest_folder/`basename /dir/to/myfile`; bye" ftp://userName:passWord@ftp.site.com

但我得到了错误

put: Access失败: 501磁盘空间不足:只有0字节可用。(至dest_folder/myfile)

当我登录到他们的站点并进行检查时,会上传一个带有我的文件名的0字节文件。

一开始我以为ftp站点没有磁盘空间,但后来我尝试使用

代码语言:javascript
复制
lftp userName:passWord@ftp.site.com

然后设置被动模式

代码语言:javascript
复制
set ftp:passive-mode true

然后上传文件(使用另一个名称)

代码语言:javascript
复制
put /dir/to/myfile_1 -o dest_folder/`basename /dir/to/myfile_1`

这一次,该文件已成功上传,没有501不足磁盘空间错误。

有人知道为什么会这样吗?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-19 00:16:11

您可以尝试使用lftp -d来启用调试/详细模式。一些FTP客户端使用ALLO FTP命令,告诉FTP服务器预先“分配”一定数量的字节;然后FTP服务器可以接受/拒绝该命令。我怀疑lftp正在向您的FTP服务器发送ALLO,并且是用501响应代码响应ALLO命令的FTP服务器导致了您的问题。

根据更新/评论,OP确认lftp使用ALLO确实导致了最初报告的行为。随后发生错误是因为lftp试图更新上传文件的时间戳;这些尝试也被FTP服务器拒绝。lftp尝试使用MFMTSITE UTIME FTP命令。

要禁用这些操作,并使lftp在OP中成功,需要使用以下lftp设置:

代码语言:javascript
复制
ftp:trust-feat no
ftp:use-allo no
ftp:use-feat no
ftp:use-site-utime no
ftp:use-site-utime2 no

使用这些设置,您应该能够让lftp在不使用ALLO命令的情况下上传文件,无需尝试使用MFMTSITE UTIME修改上传文件的服务器端时间戳。

希望这能有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36091412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档