使用 lftp 上传到 ftp 站点得到 501 磁盘不足 space
using lftp to upload to ftp site got 501 Insufficient disk space
我刚开始使用 ftp,最近我遇到了这种非常有线的情况。
我试图将文件上传到其他人的 ftp 站点,我尝试使用此命令
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 failed: 501 Insufficient disk space : only 0 bytes available. (To dest_folder/myfile)
当我登录到他们的网站并查看时,上传了一个名为 myfile 的 0 字节文件。
起初我以为 ftp 站点磁盘不足 space,但后来我尝试使用
登录该站点
lftp userName:passWord@ftp.site.com
然后设置被动模式
set ftp:passive-mode true
然后上传文件(使用其他名称)
put /dir/to/myfile_1 -o dest_folder/`basename /dir/to/myfile_1`
这次文件上传成功,没有出现501 insufficient disk space错误
有人知道为什么会这样吗?谢谢!
您可以尝试使用 lftp -d
来启用 debug/verbose 模式。一些 FTP 客户端使用 ALLO
FTP 命令,告诉 FTP 服务器提前 "allocate" 一些字节; FTP 服务器然后可以 accept/reject 那。我怀疑 lftp
正在向您的 FTP 服务器发送 ALLO
,并且是 FTP 服务器使用 501 响应代码响应该 ALLO
命令,导致你的问题。
根据 updates/comments,OP 确认 lftp
对 ALLO
的使用确实导致了最初报告的行为。随后的错误发生是因为 lftp
试图更新上传文件的时间戳; FTP 服务器也拒绝了这些尝试。 lftp
曾尝试使用 MFMT
和 SITE UTIME
FTP 命令。
要禁用这些,并使 lftp
成功实现 OP,需要以下 lftp
设置:
ftp:trust-feat no
ftp:use-allo no
ftp:use-feat no
ftp:use-site-utime no
ftp:use-site-utime2 no
使用这些设置,您应该能够lftp
上传文件而无需预先使用ALLO
命令,并且 没有 尝试使用 MFMT
或 SITE UTIME
.
修改上传文件的服务器端时间戳
希望对您有所帮助!
我刚开始使用 ftp,最近我遇到了这种非常有线的情况。
我试图将文件上传到其他人的 ftp 站点,我尝试使用此命令
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 failed: 501 Insufficient disk space : only 0 bytes available. (To dest_folder/myfile)
当我登录到他们的网站并查看时,上传了一个名为 myfile 的 0 字节文件。
起初我以为 ftp 站点磁盘不足 space,但后来我尝试使用
登录该站点lftp userName:passWord@ftp.site.com
然后设置被动模式
set ftp:passive-mode true
然后上传文件(使用其他名称)
put /dir/to/myfile_1 -o dest_folder/`basename /dir/to/myfile_1`
这次文件上传成功,没有出现501 insufficient disk space错误
有人知道为什么会这样吗?谢谢!
您可以尝试使用 lftp -d
来启用 debug/verbose 模式。一些 FTP 客户端使用 ALLO
FTP 命令,告诉 FTP 服务器提前 "allocate" 一些字节; FTP 服务器然后可以 accept/reject 那。我怀疑 lftp
正在向您的 FTP 服务器发送 ALLO
,并且是 FTP 服务器使用 501 响应代码响应该 ALLO
命令,导致你的问题。
根据 updates/comments,OP 确认 lftp
对 ALLO
的使用确实导致了最初报告的行为。随后的错误发生是因为 lftp
试图更新上传文件的时间戳; FTP 服务器也拒绝了这些尝试。 lftp
曾尝试使用 MFMT
和 SITE UTIME
FTP 命令。
要禁用这些,并使 lftp
成功实现 OP,需要以下 lftp
设置:
ftp:trust-feat no
ftp:use-allo no
ftp:use-feat no
ftp:use-site-utime no
ftp:use-site-utime2 no
使用这些设置,您应该能够lftp
上传文件而无需预先使用ALLO
命令,并且 没有 尝试使用 MFMT
或 SITE UTIME
.
希望对您有所帮助!