问题标签 [lftp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4688 浏览

ftp - 使用多个目录加速 lftp 镜像

我正在尝试将公共 FTP 镜像到本地目录。当我使用wget -m {url}wget 时,会很快跳过许多已经下载的文件(并且不存在新版本),当我使用lftp open -u user,pass {url}; mirrorthen时,在决定是否下载文件之前lftp发送每个文件。MDTM在 50,000+ 个目录中有 200 万+ 个文件,这非常慢,除了我收到无法获取目录 MDTM 的错误消息。

在手册中它说 usingset sync-mode off将导致一次发送所有请求,因此lftp不会等待每个响应。当我这样做时,我从服务器收到错误消息,说来自我的 IP 地址的连接太多。

我尝试wget先运行以仅下载较新的文件,但这不会删除已从 FTP 服务器中删除的文件,因此我会继续lftp删除旧文件,但lftp仍会在每个文件上发送 MDTM,这意味着存在这种方法没有优势。

如果我使用set ftp:use-mdtm off,那么似乎lftp只是再次下载所有文件。

lftp有人可以建议使用大量目录/文件的正确设置(特别是,它会跳过未更新的目录,就像 wget 似乎做的那样)?

0 投票
1 回答
834 浏览

bash - lftp 可以对下载的文件执行命令(作为镜像过程的一部分)吗?

这可能对一个已经非常强大的工具提出了太多要求,但是是否有机会lftp mirror在镜像过程中(从远程目录到本地计算机)执行命令?

具体示例:lftp要求将带有xml文件的远程目录镜像到本地文件夹中,并且一旦下载/更新每个文件,它就会使用xml2json.

我可以想到一个解决方案,它依赖于监视镜像文件夹的本地副本以进行更改find,然后xml2json在新/更新的文件上执行,但也许有更简单的方法?

0 投票
1 回答
1102 浏览

linux - Shell - LFTP - 多个扩展

我一直在尝试找到一种mget仅与某些文件扩展名一起使用的方法。

我使用了以下命令(如果我离开就可以了*.csv

lftp -e "set xfer:clobber true;mget $SOURCE_DIR*.{csv,txt,xls,xlsx,zip,rar};exit" -u $SOURCE_USERNAME,$SOURCE_PASSWORD $SOURCE_SERVER || exit 0

但没有运气,我收到消息dir/*.{csv,txt,xls,xlsx,zip,rar} no files found

尝试添加括号

lftp -e "set xfer:clobber true;mget $SOURCE_DIR(*.{csv,txt,xls,xlsx,zip,rar});exit" -u $SOURCE_USERNAME,$SOURCE_PASSWORD $SOURCE_SERVER || exit 0

也没有运气

$SOURCE_DIR/最后已经有一个斜线

我尝试在本地测试 lftp,但在我的 Vagrant 盒子上打开端口时遇到问题,因此问题

0 投票
1 回答
890 浏览

bash - lftp - 重启位置

尝试使用镜像时,lftp我收到以下输出(-d调试模式):

当我打开此文件时,文件已损坏 - 文件内容向下移动了几行,然后在其上写入文件的正常副本。例如,如果文件有五行(为简洁起见,没有显示换行符):line1 line2 line3 line4 line5,那么损坏的文件将显示为:line1 line2 line3 line3 line4 line5。

考虑到我在使用这种 ftp/网络组合时遇到的其他问题,我知道这不是问题lftp。但是,我想知道禁用restart position更改是否会以某种方式修复那些损坏的文件(至少它适用于其他文件)。通过阅读手册,我可以看到这两个选项:

我不知道这是否与我想要实现的目标相关(强制lftp始终完整下载数据,而不重新启动位置),或者我想要的原则上是否可以实现。我会通过实际运行这些选项来尝试这些选项,但是当文件损坏时我看不到任何可预测的模式,并且重新下载相同的文件总是会给出正确的版本。所以任何帮助表示赞赏!:)

0 投票
1 回答
713 浏览

linux - 如何使用lftp传输分段文件?

我想将一个文件从我的服务器传输到另一个服务器。这些服务器之间的网络不是很好,所以我想使用 lftp 来加速。我的脚本是这样的:

我发现 data.tar.gz 没有分段,但是当我用它来下载文件时,它会起作用。我应该怎么办?

0 投票
2 回答
1633 浏览

python - 使用 lftp 提取文件并遍历提取的文件

我正在使用lftp以下命令从 FTP 服务器中提取一些 CSV 数据文件:

这完美运行。但是,在提取 CSV 文件后,我想遍历它们中的每一个,以便使用 Python 脚本修改文件中的一些数据。有没有办法通过lftp例如将提取的文件分配给变量来直接获取提取的文件?

此时我只需执行以下操作:

但我更愿意直接通过lftp.

0 投票
1 回答
1337 浏览

linux - 用于确认 SFTP 上传的日志文件

我正在使用下面的脚本通过 LFTP 访问 SFTP。它在 4/11/16/23 从 cron 运行。由于未知时间间隔的某些未知原因,我遇到了失败。如何打印一个日志文件来确认我正在上传的文件的 ls -l?我希望它可以被包装到现有的脚本中。有没有比 ls -l 更好的方法来记录确认?

0 投票
1 回答
1975 浏览

bash - 将 LFTP 结果输出到变量

如何将LFTP结果保存在变量中,以便稍后在脚本中使用它。

这是我的基本命令:

lftp -c 'open -e "mirror /path/to/remote /path/to/local/" ftp://username:password@ftp.domain.com:21'

这显然是行不通的:

编辑:

似乎问题是使用lftp -c不会产生任何输出。因此变量为空。所以问题是从lftp.

0 投票
0 回答
1739 浏览

bash - LFTP 遇到问题。连接到 Firezilla 时出现套接字错误

我有一个 bash 脚本,我试图在我的 hostgator 帐户上运行。

上面的脚本从客户端(hostgator)给我留下了以下错误代码:

服务器系统是在 windows 10 上运行的 firezilla。

我不知道这是怎么回事?任何人都可以发出一些光吗?我已经挖掘了几个小时,无法弄清楚。

0 投票
1 回答
5882 浏览

ftp - 使用 lftp 与 vsftd 建立安全 ftp 连接时出错:gnutls_record_recv

尝试使用带有 FTPS(基于 SSL 的 FTP)的 lftp 联系 vsftpd。但是我不断收到这样的错误:

解决办法是什么?